The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

SYNOPSIS

  The following example shows how a complicated string, such as the date / time string from the unix "date" command, can be matched against a regular expression defined as a constant. The original regular expression is 5 lines long.

  use Regexp::Constant;

  my $date = "Mon Oct 25 11:59:13 EDT 2004";
  print $1 if $date =~ /@{[REGEX_SHELL_DATE]}/;
  exit();

ABSTRACT

  WARNING - BETA SOFTWARE - NOT ALL REGEX'S HAVE BEEN TESTED

  A module for defining commonly used regular expressions as constants. 

DESCRIPTION

Numeric regular expressions

 REGEX_SIGNED
 REGEX_BINARY
 REGEX_DECIMAL
 REGEX_FLOAT
 REGEX_HEX
 REGEX_OCTAL
 REGEX_OCTET

 REGEX_COMMA_DELIMITED_NUMBER

MYSQL data types

 REGEX_TINYINT
 REGEX_TINYINT_SIGNED
 REGEX_SMALLINT
 REGEX_SMALLINT_SIGNED
 REGEX_MEDIUMINT
 REGEX_MEDIUMINT_SIGNED
 REGEX_INT
 REGEX_INT_SIGNED
 REGEX_BIGINT
 REGEX_BIGINT_SIGNED

IP & host matching

 REGEX_MAC_ADDRESS
 REGEX_IP_CLASS_A
 REGEX_IP_CLASS_B
 REGEX_IP_CLASS_C
 REGEX_IP_ADDRESS
 REGEX_DOMAIN_NAME
 REGEX_EMAIL_ADDRESS

Time

 REGEX_HOUR
 REGEX_MINUTE
 REGEX_SECOND
 REGEX_TIME
 REGEX_GMT_OFFSET
 REGEX_TIMEZONE

Date

 REGEX_DAY
 REGEX_WEEKDAY_ABBREVIATED
 REGEX_WEEKDAY_NAME
 REGEX_WEEKDAY
 REGEX_MONTH_NUMERIC
 REGEX_MONTH_NAME_ABBREVIATED
 REGEX_MONTH_NAME
 REGEX_MONTH
 REGEX_YEAR
 REGEX_ROMAN_NUMERAL

DateTime

 REGEX_CLF_DATE
 REGEX_MYSQL_DATE
 REGEX_CLF_DATETIME
 REGEX_MYSQL_DATETIME
 REGEX_SHELL_DATE

Telephone (US)

 REGEX_AREA_CODE
 REGEX_PHONE_EXCHANGE
 REGEX_PHONE_EXTENSION
 REGEX_PHONE

HTML

 REGEX_HTML_SIMPLE

URI & web server log

 REGEX_REQUEST_METHOD
 REGEX_REQUEST_OBJECT
 REGEX_URI
 REGEX_PROTOCOL
 REGEX_RESPONSE_CODE
 REGEX_CONTENT_LENGTH
 REGEX_HTTP_REFERER
 REGEX_HTTP_USER_AGENT
 REGEX_COOKIE

Region (US)

 REGEX_STATE
 REGEX_STATE_ABBREVIATION
 REGEX_ZIP_CODE
 REGEX_ZIP_CODE_PLUS_FOUR

Miscellaneous

 REGEX_REPEATED_WORD
 REGEX_WINDOWS_FILENAME
 REGEX_NUMBER
 REGEX_WORD_UNCAPITALIZED
 REGEX_WORD_CAPITALIZED

ID

 REGEX_MD5
 REGEX_GUID
 REGEX_ISBN
 REGEX_SSN

Credit Card

 REGEX_VISA
 REGEX_MASTERCARD
 REGEX_DISCOVER
 REGEX_DINERS_CLUB
 REGEX_AMERICAN_EXPRESS
 REGEX_CREDIT_CARD
 REGEX_CREDIT_CARD_EXPIRATION
 REGEX_CREDIT_CARD_VALIDATION

EXPORT

None by default.

PREREQUISITES

None.

BUGS

Some values are not defined, or use basic matching (HTML, Cookie, etc).

Telephone does not properly match paranthesis around area code.

Many REGEX untested or partially tested.

AUTHOR

David Tiberio, <dtiberio5@hotmail.com>

COPYRIGHT AND LICENSE

Copyright 2004 David Tiberio, dtiberio5@hotmail.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.