1 / 14

Chapter 14

Chapter 14. Perl-Compatible Regular Expressions Part 1. p reg_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:

marnie
Télécharger la présentation

Chapter 14

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 14 Perl-Compatible Regular Expressions Part 1

  2. preg_match • The match function is • intpreg_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 • http://cscdb.nku.edu/csc301/frank/ch14/pcre.php • 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

  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 • \D any non-digit • \w Any letter, number, or underscore • \W Anything that is not a letter, number, or underscore • \s whitespace (space, tab, new line, etc.) • \S Any non-whitespace

  9. 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>"; }

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

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

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

  14. Email Address • Page 445 • /^[\w.]+@[\w.-]+\.[A-Za-z]{2,6}$/

More Related