PHP学习记录之正则表达式(二)
元字符
1.[a-z]匹配任何包含小写字母a-z的字符串 值匹配一个字符
<?php
$mode='/p[a-z]p/';
$string='php';
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo '不匹配';
}
//结果匹配
?>
<?php
$mode='/p[a-z]p/';
$string='pHp';//或者H代替为数字 符号都是不匹配的
if(preg_match($mode,$string))
{
echo'匹配';
}
else
{
echo '不匹配';
}
//结果不匹配
?>
2.[0-9]匹配任何含有0-9数字的字符串 /d作用与此相同/D作用相反
<?php
$mode='/p[0-9]p/'; $string='p2p'; if(preg_match($mode,$string)) { echo '匹配'; } else { echo '不匹配'; //答案匹配 } ?> <?php $mode='/p[0-9]p/'; $string='php'; if(preg_match($mode,$string)) { echo '匹配'; } else { echo '不匹配';
} //答案不匹配 ?>
<?php
$mode='/p[\d]p/';
$string='php';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo '不匹配';
}
//答案不匹配
?>
<?php
$mode='/p[\D]p/';
$string='php';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo '不匹配';
}
//答案匹配
?>
3.\w包含a-z0-9A-Z_的字符串 相反\W不包含
<?php
$mode='/p[\w]p/';
$string='php';
if(preg_match($mode,$string))
{echo '匹配';}
else{
echo '不匹配';
}
//答案匹配
?>
<?php
$mode='/p[\W]p/';
$string='php';
if(preg_match($mode,$string))
{echo '匹配';}
else{
echo '不匹配';
}
//答案不匹配
?>
4.\匹配特殊字符的转义
<?php
$mode='/ph\+p/';
$string='ph+p';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
<?php
$mode='/ph+p/';
$string='ph+p';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
//答案不匹配
?>
修饰符
1.i完全不区分大小写
<?php
$mode='/php/i';
$string='PHP';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
2.x忽略空白
<?php
$mode='/p h p/x';
$string='php';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
3.m识别多行
<?php
$mode='/php$/m';
$string="php\n PHP";
echo $string;
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>
4.a作用同^强制开头匹配
<?php
$mode='/php/A';
$string='phpdssafag';
if(preg_match($mode,$string))
{
echo '匹配';
}
else
{
echo'不匹配';
}
?>

浙公网安备 33010602011771号