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

正则表达式中的“模式修正符”

 

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

 

posted @   Yxh_blogs  阅读(271)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示
CONTENTS