PHP学习记录之正则表达式(一)
preg_match()进行正则表达式:
<?php
$mode='/php/';
$string='php';
if (preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
量词:
1.+匹配前一个字符至少包含一个
<?php
$mode='/ph+p/';
$string='phhp';
if(preg_match($mode,$string)){
echo '匹配';
}
else
{
echo'不匹配';
}
//结果为匹配
$mode='/ph+p/';
$string='pp';
if(preg_match($mode,$string)){
echo '匹配';
}
else
{
echo'不匹配';
}
//结果为不匹配
?>
2.匹配前面字符至少0个或多个
<?php
$mode='/ph*p/';
$string='pp';
if(preg_match($mode,$string))
{
echo '匹配';
}
else{echo '不匹配';}
//结果为匹配//如为php或者phhhhhhhhhp也匹配
$mode='/ph*p/';
$string='p0p';
if(preg_match($mode,$string))
{
echo '匹配';
}
else{echo '不匹配';}
//结果不匹配
?>
3.?匹配前面字符0个或1个
<?php
$mode='/ph?p/';
$string='php';
if(preg_match($mode,$string))
{echo'匹配';}
else
{echo'不匹配';}
//结果为匹配 $string='pp'也匹配
?>
<?php
$mode='/ph?p/';
$string='phhp';
if(preg_match($mode,$string))
{echo'匹配';}
else
{echo'不匹配';}
//结果为不匹配
?>
4.{X}前导必须X个,{x,y}前导x-y个,{x,}前导至少X个
<?php
$mode='/ph{2}p/';
$string='phhp';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo'不匹配';
}
//结果为匹配
?>
<?php
$mode='/ph{2,3}p/';
$string='phhhp';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo'不匹配';
}
//结果为匹配
?>
<?php
$mode='/ph{2,}p/';
$string='phhhp';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo'不匹配';
}
//结果为匹配
?>
<?php
$mode='/ph{2}p/';
$string='phhhp';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo'不匹配';
}
//结果为不匹配
?>
5.$从尾部开始匹配和^从头开始匹配
<?php
$mode='/php$/';
$string='dfasdfadsfdfsadfphp';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
<?php
$mode='/^php/';
$string='phpdfasdfadsfdfsadf';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
6.|
<?php
$mode='/php|asp/';
$string='asp';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo'不匹配';
}
?>

浙公网安备 33010602011771号