NAME Regexp::Pattern::Float - Regexp patterns related to floating (decimal) numbers VERSION This document describes version 0.001 of Regexp::Pattern::Float (from Perl distribution Regexp-Pattern-Float), released on 2020-05-27. SYNOPSIS use Regexp::Pattern; # exports re() my $re = re("Float::float"); DESCRIPTION Regexp::Pattern is a convention for organizing reusable regex patterns. PATTERNS * float Floating number (decimal or exponent form, or Inf/NaN). Examples: "" =~ re("Float::float"); # DOESN'T MATCH 123 =~ re("Float::float"); # matches "+123." =~ re("Float::float"); # matches "+12.3" =~ re("Float::float"); # matches "-.123" =~ re("Float::float"); # matches "123e1" =~ re("Float::float"); # matches "123.e2" =~ re("Float::float"); # matches "-1.23E+3" =~ re("Float::float"); # matches "+.5e-3" =~ re("Float::float"); # matches "Inf" =~ re("Float::float"); # matches "-Inf" =~ re("Float::float"); # matches "+infinity" =~ re("Float::float"); # matches "infini" =~ re("Float::float"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float"); # matches nan. "nan" =~ re("Float::float"); # matches nan does not recognize sign. "+NaN" =~ re("Float::float"); # DOESN'T MATCH nan does not recognize sign. "-NaN" =~ re("Float::float"); # DOESN'T MATCH "abc" =~ re("Float::float"); # DOESN'T MATCH * float_decimal Floating number (decimal form, e.g. +12, -12.3, .4, -5.). Examples: "" =~ re("Float::float_decimal"); # DOESN'T MATCH 123 =~ re("Float::float_decimal"); # matches "+123" =~ re("Float::float_decimal"); # matches -123 =~ re("Float::float_decimal"); # matches "123." =~ re("Float::float_decimal"); # matches "+123." =~ re("Float::float_decimal"); # matches "-123." =~ re("Float::float_decimal"); # matches "123.0" =~ re("Float::float_decimal"); # matches "+123.0" =~ re("Float::float_decimal"); # matches "-123.0" =~ re("Float::float_decimal"); # matches 123.0456 =~ re("Float::float_decimal"); # matches "+123.0456" =~ re("Float::float_decimal"); # matches -123.0456 =~ re("Float::float_decimal"); # matches ".5" =~ re("Float::float_decimal"); # matches "+.5" =~ re("Float::float_decimal"); # matches "-.5" =~ re("Float::float_decimal"); # matches "." =~ re("Float::float_decimal"); # DOESN'T MATCH "+." =~ re("Float::float_decimal"); # DOESN'T MATCH "-." =~ re("Float::float_decimal"); # DOESN'T MATCH Exponent form. "1e1" =~ re("Float::float_decimal"); # DOESN'T MATCH infinity. "Inf" =~ re("Float::float_decimal"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float_decimal"); # DOESN'T MATCH "abc" =~ re("Float::float_decimal"); # DOESN'T MATCH * float_decimal_or_exp Floating number (decimal or exponent form). Examples: "" =~ re("Float::float_decimal_or_exp"); # DOESN'T MATCH 123 =~ re("Float::float_decimal_or_exp"); # matches "+123." =~ re("Float::float_decimal_or_exp"); # matches "+12.3" =~ re("Float::float_decimal_or_exp"); # matches "-.123" =~ re("Float::float_decimal_or_exp"); # matches "123e1" =~ re("Float::float_decimal_or_exp"); # matches "123.e2" =~ re("Float::float_decimal_or_exp"); # matches "-1.23E+3" =~ re("Float::float_decimal_or_exp"); # matches "+.5e-3" =~ re("Float::float_decimal_or_exp"); # matches infinity. "Inf" =~ re("Float::float_decimal_or_exp"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float_decimal_or_exp"); # DOESN'T MATCH * float_exp Floating number (exponent form, e.g. 1.2e+3, -1.2e-3). Examples: "" =~ re("Float::float_exp"); # DOESN'T MATCH Decimal form. 123 =~ re("Float::float_exp"); # DOESN'T MATCH Decimal form. "+123" =~ re("Float::float_exp"); # DOESN'T MATCH Decimal form. -123 =~ re("Float::float_exp"); # DOESN'T MATCH "123e1" =~ re("Float::float_exp"); # matches "12.3E2" =~ re("Float::float_exp"); # matches "-123.e+3" =~ re("Float::float_exp"); # matches "+.5e-3" =~ re("Float::float_exp"); # matches infinity. "Inf" =~ re("Float::float_exp"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float_exp"); # DOESN'T MATCH * float_inf Infinity. Examples: "" =~ re("Float::float_inf"); # DOESN'T MATCH 123 =~ re("Float::float_inf"); # DOESN'T MATCH "Inf" =~ re("Float::float_inf"); # matches "-Inf" =~ re("Float::float_inf"); # matches "+infinity" =~ re("Float::float_inf"); # matches "infini" =~ re("Float::float_inf"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float_inf"); # DOESN'T MATCH * float_nan NaN. Examples: "" =~ re("Float::float_nan"); # DOESN'T MATCH 123 =~ re("Float::float_nan"); # DOESN'T MATCH infinity. "Inf" =~ re("Float::float_nan"); # DOESN'T MATCH nan. "NaN" =~ re("Float::float_nan"); # matches nan. "nan" =~ re("Float::float_nan"); # matches nan does not recognize sign. "+NaN" =~ re("Float::float_nan"); # DOESN'T MATCH nan does not recognize sign. "-NaN" =~ re("Float::float_nan"); # DOESN'T MATCH * ufloat Unsigned floating number (decimal or exponent form, or Inf/NaN). Examples: "" =~ re("Float::ufloat"); # DOESN'T MATCH 123 =~ re("Float::ufloat"); # matches "+123." =~ re("Float::ufloat"); # matches "+12.3" =~ re("Float::ufloat"); # matches "-.123" =~ re("Float::ufloat"); # DOESN'T MATCH "123e1" =~ re("Float::ufloat"); # matches "123.e2" =~ re("Float::ufloat"); # matches "-1.23E+3" =~ re("Float::ufloat"); # DOESN'T MATCH "+.5e-3" =~ re("Float::ufloat"); # matches "Inf" =~ re("Float::ufloat"); # matches "-Inf" =~ re("Float::ufloat"); # DOESN'T MATCH "+infinity" =~ re("Float::ufloat"); # matches "infini" =~ re("Float::ufloat"); # DOESN'T MATCH nan. "NaN" =~ re("Float::ufloat"); # matches nan. "nan" =~ re("Float::ufloat"); # matches nan does not recognize sign. "+NaN" =~ re("Float::ufloat"); # DOESN'T MATCH nan does not recognize sign. "-NaN" =~ re("Float::ufloat"); # DOESN'T MATCH "abc" =~ re("Float::ufloat"); # DOESN'T MATCH * ufloat_decimal Unsigned floating number (decimal form, e.g. 12, +12.3, .4, 5.). Examples: "" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH 123 =~ re("Float::ufloat_decimal"); # matches "+123" =~ re("Float::ufloat_decimal"); # matches -123 =~ re("Float::ufloat_decimal"); # DOESN'T MATCH "123." =~ re("Float::ufloat_decimal"); # matches "+123." =~ re("Float::ufloat_decimal"); # matches "-123." =~ re("Float::ufloat_decimal"); # DOESN'T MATCH "123.0" =~ re("Float::ufloat_decimal"); # matches "+123.0" =~ re("Float::ufloat_decimal"); # matches "-123.0" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH 123.0456 =~ re("Float::ufloat_decimal"); # matches "+123.0456" =~ re("Float::ufloat_decimal"); # matches -123.0456 =~ re("Float::ufloat_decimal"); # DOESN'T MATCH ".5" =~ re("Float::ufloat_decimal"); # matches "+.5" =~ re("Float::ufloat_decimal"); # matches "-.5" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH "." =~ re("Float::ufloat_decimal"); # DOESN'T MATCH "+." =~ re("Float::ufloat_decimal"); # DOESN'T MATCH "-." =~ re("Float::ufloat_decimal"); # DOESN'T MATCH Exponent form. "1e1" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH infinity. "Inf" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH nan. "NaN" =~ re("Float::ufloat_decimal"); # DOESN'T MATCH HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. SEE ALSO Regexp::Pattern::Int Sah schemas in Sah::Schemas::Float, e.g. Sah::Schema::ufloat Regexp::Pattern Some utilities related to Regexp::Pattern: App::RegexpPatternUtils, rpgrep from App::rpgrep. AUTHOR perlancar COPYRIGHT AND LICENSE This software is copyright (c) 2020 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.