Presentation is loading. Please wait.

Presentation is loading. Please wait.

Perl-Compatible Regular Expressions Part 1

Similar presentations


Presentation on theme: "Perl-Compatible Regular Expressions Part 1"— Presentation transcript:

1 Perl-Compatible Regular Expressions Part 1
Chapter 14 Perl-Compatible Regular Expressions Part 1

2 preg_match The match function is 1st argument is the pattern
int preg_match(string $pattern, string $str ) 1st argument is the pattern 2nd 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

3 pcre.php Script 14.1 on page 435 ch14\pcre.php

4 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

5 Metacharacters ^ beginning of string $ end of string | or

6 Regular Expression Username – 5 to 10 lowercase letters?
$pattern = '/^[a-z]{5,10}$/'; if (!preg_match($pattern, $username)) { echo "<p>$username is invalid.</p>"; }

7 Regular Expressions Social Security Number 123-45-6789
$pattern = '/^[0-9]{3}-[0-9]{2}-[0-9]{4}$/'; if (!preg_match($pattern, $ssn)) { echo "<p>$ssn is invalid.</p>"; }

8 Character classes \d any digit [0-9] \D any non-digit [^0-9]
\w Any letter, number, or underscore [A-Za-z0-9_] \W Anything that is not a letter, number, or underscore [^A-Za-z0-9_]

9 Character classes \s whitespace (space, tab, new line, etc.) [\f\r\t\n\v] \S Any non-whitespace [^\f\r\t\n\v]

10 Regular Expressions Social Security Number 123-45-6789
$pattern = '/^\d{3}-\d{2}-\d{4}$/'; if (!preg_match($pattern, $ssn)) { echo "<p>$ssn is invalid.</p>"; }

11 Metacharacters [0-9]* * = zero or more [A-Z]+ + = one or more
. . = match any character ([A-Z]\. )? ? = either zero or one

12 Regular Expressions Last name: Frank $pattern = '/^[A-Z][a-z]+$/';
if (!preg_match($pattern, $last)) { echo "<p>$last is invalid.</p>"; }

13 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 "<p>$name is invalid.</p>"; }

14 Zip Code Page 444 /^\d{5}(-\d{4})?$/

15 Address Page 445


Download ppt "Perl-Compatible Regular Expressions Part 1"

Similar presentations


Ads by Google