您的位置:首页 > 编程语言 > PHP开发

PHP中正则表达式学习及应用(三)

2015-08-21 00:13 711 查看
正则表达式中的“模式修正符”

1、运算顺序 2、模式修正符





i 正则内容在匹配时候不区分大小写(默认是区分的)

例如:

<?php
$mode="/[a-z]/i";  //加上模式修正符 i 不区分大小写
$str="G";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:

匹配成功G


m 在匹配首内容或者尾内容时候采用多行识别匹配

例如:

<?php
$mode="/^abc/m";  //加上模式修饰符 m 可识别多行,并不局限于第一行的首部,或者尾部。
$str="google\nabcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:

匹配成功abc


s 将转义回车取消是为单行匹配如 . 匹配的时候

例如:

<?php
$mode="/a(.*)bc/s"; //加上模式修饰符 s 可忽视 \n 直接匹配 a\nbc。
$str="agooglea\nbcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:

匹配成功agooglea bc


x 忽略正则中的空白

例如:

<?php
$mode="/a bc/x";  //加上模式修饰符 x 可忽略掉正则表达式里的空格
$str="abcgooglea\nbcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:

匹配成功abc


A 强制从头开始匹配

例如:

<?php
$mode="/abc/A";  //加上模式修正符 A 强制从头开始匹配
$str="abcgooglea\nabcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:
匹配成功abc


D 强制$匹配尾部无任何内容 \n

例如:

<?php
$mode="/abc$/D";  //加上模式修正符 D $匹配时尾部不允许有 \n
$str="abcgooglea\nabc\n";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?>

输出:

匹配失败


U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束, 常用在采集程序上的正则表达式

<?php
$mode="/<(.*)>/U";  //加上模式修正符 U 只跟踪到最近的一个匹配符并结束。
$str="ppp<b>sss</b>pppp";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
print_r($arr);
}else{
echo "匹配失败";
}
?>

输出:

匹配成功
Array ( [0] => [1] => b )


PHP中正则表达式学习及应用(三)

本节内容的视频教程:链接: http://pan.baidu.com/s/1dD2iajf 密码: 3u33

若有疑问请联系:QQ 907811190

施主、赏个糖吃ma(☆_☆)/~~ (☆_☆)/~~。。。。





支付宝账号:907811190@qq.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: