NAME
Regexp::Common::numbers -- provide regexes for numbers
SYNOPSIS
use Regexp::Common qw /numbers/;
while (<>) {
/$RE{num}{int}/ and print "Integer\n";
/$RE{num}{real}/ and print "Real\n";
/$RE{num}{real}{-base => 16} and print "Hexadecimal real\n";
}
DESCRIPTION
Please consult the manual of Regexp::Common for a general description of the works of this interface.
Do not use this module directly, but load it via Regexp::Common.
$RE{num}{int}{-sep}{-group}
Returns a pattern that matches a decimal integer.
If -sep=P
is specified, the pattern P is required as a grouping marker within the number.
If -group=N
is specified, digits between grouping markers must be grouped in sequences of exactly N characters. The default value of N is 3.
For example:
$RE{num}{int} # match 1234567
$RE{num}{int}{-sep=>','} # match 1,234,567
$RE{num}{int}{-sep=>',?'} # match 1234567 or 1,234,567
$RE{num}{int}{-sep=>'.'}{-group=>4} # match 1.2345.6789
Under -keep
(see Regexp::Common):
- $1
-
captures the entire number
- $2
-
captures the optional sign of the number
- $3
-
captures the complete set of digits
$RE{num}{real}{-base}{-radix}{-places}{-sep}{-group}{-expon}
Returns a pattern that matches a floating-point number.
If -base=N
is specified, the number is assumed to be in that base (with A..Z representing the digits for 11..36). By default, the base is 10.
If -radix=P
is specified, the pattern P is used as the radix point for the number (i.e. the "decimal point" in base 10). The default is qr/[.]/
.
If -places=N
is specified, the number is assumed to have exactly N places after the radix point. If -places=M,N
is specified, the number is assumed to have between M and N places after the radix point. By default, the number of places is unrestricted.
If -sep=P
specified, the pattern P is required as a grouping marker within the pre-radix section of the number. By default, no separator is allowed.
If -group=N
is specified, digits between grouping separators must be grouped in sequences of exactly N characters. The default value of N is 3.
If -expon=P
is specified, the pattern P is used as the exponential marker. The default value of P is qr/[Ee]/
.
For example:
$RE{num}{real} # matches 123.456 or -0.1234567
$RE{num}{real}{-places=2} # matches 123.45 or -0.12
$RE{num}{real}{-places='0,3'} # matches 123.456 or 0 or 9.8
$RE{num}{real}{-sep=>'[,.]?'} # matches 123,456 or 123.456
$RE{num}{real}{-base=>3'} # matches 121.102
Under -keep
:
- $1
-
captures the entire match
- $2
-
captures the optional sign of the number
- $3
-
captures the complete mantissa
- $4
-
captures the whole number portion of the mantissa
- $5
-
captures the radix point
- $6
-
captures the fractional portion of the mantissa
- $7
-
captures the optional exponent marker
- $8
-
captures the entire exponent value
- $9
-
captures the optional sign of the exponent
- $10
-
captures the digits of the exponent
$RE{num}{dec}{-radix}{-places}{-sep}{-group}{-expon}
A synonym for $RE{num}{real}{-base=>10}{...}
$RE{num}{oct}{-radix}{-places}{-sep}{-group}{-expon}
A synonym for $RE{num}{real}{-base=>8}{...}
$RE{num}{bin}{-radix}{-places}{-sep}{-group}{-expon}
A synonym for $RE{num}{real}{-base=>2}{...}
$RE{num}{hex}{-radix}{-places}{-sep}{-group}{-expon}
A synonym for $RE{num}{real}{-base=>16}{...}
SEE ALSO
Regexp::Common for a general description of how to use this interface.
AUTHOR
Damian Conway (damian@conway.org)
MAINTAINANCE
This package is maintained by Abigail (regexp-common@abigail.nl).
BUGS AND IRRITATIONS
Bound to be plenty.
For a start, there are many common regexes missing. Send them in to regexp-common@abigail.nl.
COPYRIGHT
Copyright (c) 2001 - 2002, Damian Conway. All Rights Reserved.
This module is free software. It may be used, redistributed
and/or modified under the terms of the Perl Artistic License
(see http://www.perl.com/perl/misc/Artistic.html)