Get the parts of a search string

"; } ?>

Splitting a string into component characters

"; } ?>

Splitting a string into matches and their offsets

Getting the domain name out of a URL

"; $host = $matches[2]; // get last two segments of host name preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches); echo "domain name is: {$matches[0]}\n"; ?>

Example of use of preg_match

Match: $matches[0]

"); print("

Pastry: $matches[1]

"); print("

Variant: $matches[2]

"); print("

Name: $matches[3]

"); } else { print("No match."); } ?>

Check if an IP-v4 address is valid

\n"; } else { echo "$ip_addr is NOT valid
\n"; } } ?>

Repetitions

"; echo "preg_match(\$p,'100');
".preg_match($p,'100').'
'; // writes 1 echo "preg_match(\$p,'100.10');
".preg_match($p,'100.10').'
'; // writes 1 echo "preg_match(\$p,'-100');
".preg_match($p,'-100').'
'; // writes 1 echo "preg_match(\$p,'toto');
".preg_match($p,'toto').'
'; //writes 0 i.e. no match echo "preg_match(\$p,'toto 50');
".preg_match($p,'toto 50').'
'; //writes 1 ?>
$p='/-?\d+/';
preg_match($p,'toto 50',$a);
echo $a[0];
preg_match($p,'toto -3050',$b);
echo $b[0]; 
'; preg_match($p,'toto -3050',$b); echo $b[0]; ?>

Subexpressions

$patternProf = '/([a-zA-Z]{3}\d{1,2})@bfh.ch/';  
$address = 'bie1@bfh.ch';
preg_match($patternProf,$address,$res);
echo "email=".$res[0];
echo "kuerzel=".$res[1];
\n"; echo "kuerzel=".$res[1]."
\n"; ?>
$log= '192.168.1.10 - - [02/Dec/2010:16:31:22 +0100] "GET /coursAWT/hello.php HTTP/1.1" 200 937 ';
$pattern1='/([\d\.]+) -(.*)- (\[.*\])\s"(GET|POST)/'; 
preg_match($pattern1,$log,$res);
foreach($res as $k => $item){
 echo "\$res[$k] = ".$item."\n";
}
$item){ echo "\$res[$k] = ".$item."
\n"; } ?>