<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FString%2Fpreg_match</id>
		<title>PHP/String/preg match - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FString%2Fpreg_match"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match&amp;action=history"/>
		<updated>2026-04-04T18:53:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/String/preg_match&amp;diff=1416&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match&amp;diff=1416&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/String/preg_match&amp;diff=1417&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match&amp;diff=1417&amp;oldid=prev"/>
				<updated>2010-05-26T07:07:40Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Capturing with nested parentheses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
if (preg_match(&amp;quot;/^(\d{5})(-(\d{4}))?$/&amp;quot;,$_POST[&amp;quot;zip&amp;quot;],$matches)) {&lt;br /&gt;
    print &amp;quot;The beginning of the ZIP Code is: $matches[1]\n&amp;quot;;&lt;br /&gt;
    if (isset($matches[2])) {&lt;br /&gt;
        print &amp;quot;The ZIP+4 is: $matches[3]&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capturing with preg_match()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
if (preg_match(&amp;quot;/^(\d{5})(-\d{4})?$/&amp;quot;,$_POST[&amp;quot;zip&amp;quot;],$matches)) {&lt;br /&gt;
    print &amp;quot;$matches[0] is a valid US ZIP Code\n&amp;quot;;&lt;br /&gt;
    print &amp;quot;$matches[1] is the five-digit part of the ZIP Code\n&amp;quot;;&lt;br /&gt;
    if (isset($matches[2])) {&lt;br /&gt;
        print &amp;quot;The ZIP+4 is $matches[2];&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
        print &amp;quot;There is no ZIP+4&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
$is_bold = preg_match(&amp;quot;@&amp;lt;b&amp;gt;([^&amp;lt;]+)&amp;lt;/b&amp;gt;@&amp;quot;,$html,$matches);&lt;br /&gt;
if ($is_bold) {&lt;br /&gt;
    print &amp;quot;The bold text is: $matches[1]&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Checking the syntax of an e-mail address==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
if (! preg_match(&amp;quot;/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i&amp;quot;, $_POST[&amp;quot;email&amp;quot;])) {&lt;br /&gt;
    $errors[] = &amp;quot;Please enter a valid e-mail address&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Check quotes in a file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $file = fopen(&amp;quot;data.txt&amp;quot;, &amp;quot;r&amp;quot;) or die(&amp;quot;Cannot open file!\n&amp;quot;);&lt;br /&gt;
  $lineNbr = 0;&lt;br /&gt;
  while ($line = fgets($file, 1024)) {&lt;br /&gt;
    $lineNbr++;&lt;br /&gt;
    if (preg_match(&amp;quot;/^[^\&amp;quot;]*\&amp;quot;([^\&amp;quot;]*|([^\&amp;quot;]*\&amp;quot;[^\&amp;quot;]*\&amp;quot;[^\&amp;quot;]*)*)$/&amp;quot;, $line)) {&lt;br /&gt;
      echo &amp;quot;Found match at line &amp;quot; . $lineNbr . &amp;quot;:  &amp;quot; . $line;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  fclose($file);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Combine patterns with the pipe (|) character to create branches==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$test = &amp;quot;www.example.ru&amp;quot;;&lt;br /&gt;
if ( preg_match( &amp;quot;/www\.example(\.ru|\.co\.uk)/&amp;quot;, $test, $array ) ) {&lt;br /&gt;
  print &amp;quot;it is a $array[1] domain&amp;lt;br/&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Detecting ZIP Codes in Strings==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function detect_zipcode($string) {&lt;br /&gt;
    return preg_match(&amp;quot;/\b\d{5}(-\d{4})?\b/&amp;quot;, $string);&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
if (detect_zipcode(&amp;quot;MD  11101-3883&amp;quot;)) {&lt;br /&gt;
    echo &amp;quot;Test 1: true\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if (detect_zipcode(&amp;quot;The zipcode 26623 is the area in which I grew up.&amp;quot;)) {&lt;br /&gt;
    echo &amp;quot;Test 2: true\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if (detect_zipcode(&amp;quot;The Phone Number is 301-555-1212&amp;quot;)) {&lt;br /&gt;
    echo &amp;quot;Test 3: true\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if (detect_zipcode(&amp;quot;426969-313109&amp;quot;)) {&lt;br /&gt;
    echo &amp;quot;Test 4: true\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Efficiently finding lines that match a pattern==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$fh = fopen(&amp;quot;/path/to/your/file.txt&amp;quot;, &amp;quot;r&amp;quot;) or die($php_errormsg);&lt;br /&gt;
while (!feof($fh)) {&lt;br /&gt;
    $line = fgets($fh);&lt;br /&gt;
    if (preg_match($pattern, $line)) { $ora_books[ ] = $line; }&lt;br /&gt;
}&lt;br /&gt;
fclose($fh);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding All Matching Lines in a File==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
$file = fopen(&amp;quot;testfile.txt&amp;quot;, &amp;quot;r&amp;quot;) or die(&amp;quot;Cannot open file!\n&amp;quot;); &lt;br /&gt;
while ($line = fgets($file, 1024)) { &lt;br /&gt;
    if (preg_match(&amp;quot;/Hello( World!)?/&amp;quot;, $line)) { &lt;br /&gt;
        echo &amp;quot;Found match: &amp;quot; . $line; &lt;br /&gt;
    } else { &lt;br /&gt;
        echo &amp;quot;No match: &amp;quot; . $line; &lt;br /&gt;
    } &lt;br /&gt;
} &lt;br /&gt;
fclose($file); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding Lines with an Odd Number of Quotes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
$file = fopen(&amp;quot;data.txt&amp;quot;, &amp;quot;r&amp;quot;) or die(&amp;quot;Cannot open file!\n&amp;quot;); &lt;br /&gt;
$lineNbr = 0; &lt;br /&gt;
while ($line = fgets($file, 1024)) { &lt;br /&gt;
    $lineNbr++; &lt;br /&gt;
    if (preg_match(&amp;quot;/^[^\&amp;quot;]*\&amp;quot;([^\&amp;quot;]*|([^\&amp;quot;]*\&amp;quot;[^\&amp;quot;]*\&amp;quot;[^\&amp;quot;]*)*)$/&amp;quot;, $line)) { &lt;br /&gt;
        echo &amp;quot;Found match at line &amp;quot; . $lineNbr . &amp;quot;: &amp;quot; . $line; &lt;br /&gt;
    } &lt;br /&gt;
} &lt;br /&gt;
fclose($file); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding Repeated Words==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
function showMatchResults($str) { &lt;br /&gt;
    if (preg_match(&amp;quot;/\b(\w+)\s+\\1\b/i&amp;quot;, $str)) { &lt;br /&gt;
        echo &amp;quot;Match successful: &amp;quot;&amp;quot; . $str . &amp;quot;&amp;quot;\n&amp;quot;; &lt;br /&gt;
    } else { &lt;br /&gt;
        echo &amp;quot;Match failed: &amp;quot;&amp;quot; . $str . &amp;quot;&amp;quot;\n&amp;quot;; &lt;br /&gt;
    } &lt;br /&gt;
} &lt;br /&gt;
showMatchResults(&amp;quot;Hello World!&amp;quot;); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding the nth Occurrence of a Match==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
preg_match(&amp;quot;/\d/&amp;quot;, &amp;quot;1 and 2 and 3 and 4&amp;quot;, $matches); &lt;br /&gt;
echo &amp;quot;Value: &amp;quot; . $matches[0][2] . &amp;quot;\n&amp;quot;; &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding Words Not Followed by Other Words==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $regex = &amp;quot;/\bhello\b(?!\sworld\b)/&amp;quot;;&lt;br /&gt;
  $valid = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  $invalid = &amp;quot;hello world!&amp;quot;;&lt;br /&gt;
  if (preg_match($regex, $valid)) {&lt;br /&gt;
    echo &amp;quot;Found match:  &amp;quot;&amp;quot; . $valid . &amp;quot;&amp;quot;\n&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    echo &amp;quot;No match:  &amp;quot;&amp;quot; . $valid . &amp;quot;&amp;quot;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  if (preg_match($regex, $invalid)) {&lt;br /&gt;
    echo &amp;quot;Found match:  &amp;quot;&amp;quot; . $invalid . &amp;quot;&amp;quot;\n&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    echo &amp;quot;No match:  &amp;quot;&amp;quot; . $invalid . &amp;quot;&amp;quot;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Find the first &amp;quot;p&amp;quot; string and match as many characters as possible until the last possible &amp;quot;t&amp;quot; is reached.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$text = &amp;quot;pot post pat patent&amp;quot;;&lt;br /&gt;
if (preg_match ( &amp;quot;/p.*t/&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get the start and end of the string when m is enabled, you should use \A and \z, like this:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/\AThis/m&amp;quot;, $multitest);&lt;br /&gt;
    // returns true if the string starts with &amp;quot;This&amp;quot; (true)&lt;br /&gt;
    preg_match(&amp;quot;/symbol\z/m&amp;quot;, $multitest);&lt;br /&gt;
    // returns true if the string ends with &amp;quot;symbol&amp;quot; (false)&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==i renders the regular expression non case sensitive==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $s = &amp;quot;Another beautiful day&amp;quot;;&lt;br /&gt;
    echo (preg_match (&amp;quot;/BEautiFul/i&amp;quot;, $s) ? &amp;quot;MATCH&amp;quot; : &amp;quot;NO MATCH&amp;quot;) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Looking for any lowercase alphabetical character or the numbers 3, 4, and 7==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
if ( preg_match(&amp;quot;/[a-z347]+/&amp;quot;, &amp;quot;AB asdf123123asdfasdf&amp;quot;, $array) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matching Patterns with preg_match()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
preg_match() accepts four arguments: &lt;br /&gt;
    a regular expression string, &lt;br /&gt;
    a source string, &lt;br /&gt;
    an array variable (which stores matches), &lt;br /&gt;
    and an optional fourth flag argument. &lt;br /&gt;
    &lt;br /&gt;
preg_match() returns 0 if a match is found and 1 otherwise. &lt;br /&gt;
These numbers represent the number of matches the function can make in a string. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
print preg_match(&amp;quot;/is/&amp;quot;, &amp;quot;this is a test&amp;quot;, $array) . &amp;quot;\n&amp;quot;;&lt;br /&gt;
print_r( $array );&lt;br /&gt;
print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matching with preg_match()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
if (preg_match(&amp;quot;/^\d{5}(-\d{4})?$/&amp;quot;,$_POST[&amp;quot;zip&amp;quot;])) {&lt;br /&gt;
    print $_POST[&amp;quot;zip&amp;quot;] . &amp;quot; is a valid US ZIP Code&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
$is_bold = preg_match(&amp;quot;@&amp;lt;b&amp;gt;[^&amp;lt;]+&amp;lt;/b&amp;gt;@&amp;quot;,$html);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Negate the characters in the character class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
if ( preg_match(&amp;quot;/[^a-z347]+/&amp;quot;,&amp;quot;AB asdf123123asdf&amp;quot;, $array) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Parsing a date with a regular expression==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$date = &amp;quot;2010-12-03 05:12:56&amp;quot;;&lt;br /&gt;
preg_match(&amp;quot;/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/&amp;quot;,$date,$date_parts);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   $line = &amp;quot;this is a test!&amp;quot;; &lt;br /&gt;
   if (preg_match(&amp;quot;/\bis\b/i&amp;quot;, $line, $match)) print &amp;quot;Match found!&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match( ) calls and what they match==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    if (preg_match(&amp;quot;/php/i&amp;quot;, &amp;quot;PHP&amp;quot;)) {&lt;br /&gt;
            print &amp;quot;Got match!\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match() function returns true if pattern exists, and false otherwise.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Its syntax follows: int preg_match (string pattern, string string [, array pattern_array])&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    $line = &amp;quot;virtual&amp;quot;;&lt;br /&gt;
    if (preg_match(&amp;quot;/\bVi\b/i&amp;quot;, $line, $match)) :&lt;br /&gt;
         print &amp;quot;Match found!&amp;quot;;&lt;br /&gt;
    endif;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PREG_OFFSET_CAPTURE and preg_match()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $s = &amp;quot;It is a beautiful day&amp;quot;;&lt;br /&gt;
    preg_match (&amp;quot;/beautiful/&amp;quot;, $s, $matches, PREG_OFFSET_CAPTURE);&lt;br /&gt;
    var_dump ($matches);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Put the word boundary character to the test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$text = &amp;quot;pot post pat patent&amp;quot;;&lt;br /&gt;
if ( preg_match( &amp;quot;/\bp\w+t\b/&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Regular expressions using +, *, and ?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Regexp                                              Result&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]+/&amp;quot;, &amp;quot;123&amp;quot;)                       False&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z][A-Z0-9]+/i&amp;quot;, &amp;quot;A123&amp;quot;)             True&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[0-9]?[A-Z]+/&amp;quot;, &amp;quot;10GreenBottles&amp;quot;)      True; matches &amp;quot;0G&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[0-9]?[A-Z0-9]*/i&amp;quot;, &amp;quot;10GreenBottles&amp;quot;)  True&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]?[A-Z]?[A-Z]*/&amp;quot;, &amp;quot;&amp;quot;)              True; zero or one match, then zero or one match, then zero or more means that an empty string matches&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Regular expressions using braces==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Regexp                                                       Result&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]{3}/&amp;quot;, &amp;quot;FuZ&amp;quot;)                              False; the regexp will match precisely three uppercase letters&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]{3}/i&amp;quot;, &amp;quot;FuZ&amp;quot;)                             True; same as above, but case-insensitive this time&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[0-9]{3}-[0-9]{4}/&amp;quot;, &amp;quot;555-1234&amp;quot;)                True; precisely three numbers, a dash, then precisely four. This will match local U.S. telephone numbers, for example&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[a-z]+[0-9]?[a-z]{1}/&amp;quot;, &amp;quot;aaa1&amp;quot;)                 True; must end with one lowercase letter&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]{1,}99/&amp;quot;, &amp;quot;99&amp;quot;)                            False; must start with at least one uppercase letter&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]{1,5}99/&amp;quot;, &amp;quot;FINGERS99&amp;quot;)                    True; &amp;quot;S99&amp;quot;, &amp;quot;RS99&amp;quot;, &amp;quot;ERS99&amp;quot;, &amp;quot;GERS99&amp;quot;, and &amp;quot;NGERS99&amp;quot; all fit the criteria&lt;br /&gt;
 &lt;br /&gt;
preg_match(&amp;quot;/[A-Z]{1,5}[0-9]{2}/i&amp;quot;, &amp;quot;adams42&amp;quot;)               True&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==s modifier: use . to match characters across multiple lines.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
//access the first and last words of a string&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$text = &amp;quot;start with this line\nand you will reach\na conclusion in the end\n&amp;quot;;&lt;br /&gt;
if ( preg_match( &amp;quot;/^(\w+).*?(\w+)$/&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Testing the Complexity of Passwords==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $values = array(&lt;br /&gt;
    &amp;quot;password&amp;quot;,    // Bad&lt;br /&gt;
    &amp;quot;P4ssw0rd&amp;quot;,    // Good&lt;br /&gt;
    );&lt;br /&gt;
  foreach ($values as $value) {&lt;br /&gt;
    if (! preg_match( &amp;quot;/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{8,16}/&amp;quot;, $value)) {&lt;br /&gt;
      printf(&amp;quot;Bad password:  &amp;quot;%s&amp;quot;\n&amp;quot;, $value);&lt;br /&gt;
    } else { &lt;br /&gt;
      printf(&amp;quot;Good password:  &amp;quot;%s&amp;quot;!\n&amp;quot;, $value);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use regular expression to check each line of the code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $file = fopen(&amp;quot;data.txt&amp;quot;, &amp;quot;r&amp;quot;) or die(&amp;quot;Cannot open file!\n&amp;quot;);&lt;br /&gt;
  while ($line = fgets($file, 1024)) {&lt;br /&gt;
    if (preg_match(&amp;quot;/Hello( World!)?/&amp;quot;, $line)) {&lt;br /&gt;
      echo &amp;quot;Found match:  &amp;quot; . $line;&lt;br /&gt;
    } else {&lt;br /&gt;
      echo &amp;quot;No match: &amp;quot; . $line;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  fclose($file);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using preg_match to return an array of matches that start with ple==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$subject = &amp;quot;example&amp;quot;;&lt;br /&gt;
$pattern = &amp;quot;/^ple/&amp;quot;;&lt;br /&gt;
preg_match($pattern, $subject, $matches);&lt;br /&gt;
print_r($matches);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Validating numbers with regular expressions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if (! preg_match(&amp;quot;/^-?\d+$/&amp;quot;$_POST[&amp;quot;rating&amp;quot;])) {&lt;br /&gt;
    print &amp;quot;Your rating must be an integer.&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
if (! preg_match(&amp;quot;/^-?\d*\.?\d+$/&amp;quot;,$_POST[&amp;quot;temperature&amp;quot;])) {&lt;br /&gt;
   print &amp;quot;Your temperature must be a number.&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Words and Whitespace Regexps==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
$string = &amp;quot;Foolish child!&amp;quot;;&lt;br /&gt;
    preg_match(&amp;quot;/[\S]{7}[\s]{1}[\S]{6}/&amp;quot;, $string);&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>