Chapter 14 Perl-Compatible Regular Expressions Part 1
preg_match The match function is int preg_match(string $pattern, string $str ) – 1 st argument is the pattern – 2 nd argument is the subject string – Returns number of matches found: 1 (true) if there is a match – it stops at the first match found! 0 (false) otherwise
pcre.php Script 14.1 on page php php ch14\pcre.php
Character Classes [A-Z]uppercase letter [a-z]lowercase letter [0-9]digit {5}exactly five {3,}three or more {1,4}one to four 4
Metacharacters ^beginning of string $end of string |or 5
Regular Expression Username – 5 to 10 lowercase letters? $pattern = '/^[a-z]{5,10}$/'; if (!preg_match($pattern, $username)) { echo " $username is invalid. "; } 6
Regular Expressions Social Security Number $pattern = '/^[0-9]{3}-[0-9]{2}-[0-9]{4}$/'; if (!preg_match($pattern, $ssn)) { echo " $ssn is invalid. "; } 7
Character classes \dany digit [0-9] \Dany non-digit [^0-9] \wAny letter, number, or underscore [A-Za-z0-9_] \WAnything that is not a letter, number, or underscore [^A-Za-z0-9_] 8
Character classes \swhitespace (space, tab, new line, etc.) [\f\r\t\n\v] \SAny non-whitespace [^\f\r\t\n\v] 9
Regular Expressions Social Security Number $pattern = '/^\d{3}-\d{2}-\d{4}$/'; if (!preg_match($pattern, $ssn)) { echo " $ssn is invalid. "; } 10
Metacharacters [0-9]** = zero or more [A-Z]++ = one or more.. = match any character ([A-Z]\. )?? = either zero or one 11
Regular Expressions Last name: Frank $pattern = '/^[A-Z][a-z]+$/'; if (!preg_match($pattern, $last)) { echo " $last is invalid. "; } 12
Regular Expressions Name: Charles Frank or Charles E. Frank $pattern = '/^[A-Z][a-z]+ ([A-Z]\. )?[A-Z][a-z]+ $/'; if (!preg_match($pattern, $name)) { echo " $name is invalid. "; } 13
Zip Code Page 444 /^(\d{5}(-\d{4})?$/
Address Page 445