正则表达式中常用的模式修正符有i、g、m、s、x、e详解

正则表达式中常用的模式修正符有i、g、m、s、x、e等。它们之间可以组合搭配使用。

它们的作用如下:

//修正符:i 不区分大小写的匹配;

//如:"/abc/i"可以与abc或aBC或ABc等匹配;

//修正符:g表示全局匹配

//修正符:m
将字符串视为多行,不管是那行都能匹配;

例://模式为:$mode="/abc/m";
//要匹配的字符串为:$str="bcefg5e\nabcdfe"
//注意其中\n,换行了;abc换到了下一行;
//$str和$mode仍可以匹配,修正符m使得多行也可匹配;
//修正符:s
将字符串视为单行,换行符作为普通字符;

例://模式为:$mode="/pr.y/";
//要匹配字符串为:$str="pr\ny";
//两者不可匹配; . 是除了换行以外的字符可匹配;
//修改下模式为:$mode="/pr.y/s";
//其中修正符s将\n视为普通字符,即不是换行;
//最后两者可以匹配;
//修正符:x
将模式中的空白忽略;

//修正符:A
强制从目标字符串开头匹配;

例://$mode="/abc/A";
//可以与$str="abcsdfi"匹配,
//不可以与$str2="sdsdabc"匹配;
//因为$str2不是以abc开头;
//修正符:D
如果使用$限制结尾字符,则不允许结尾有换行;

例://模式为:$mode="/abc$/";
//可以与最后有换行的$str="adshabc\n"匹配;
//元子符$会忽略最后的换行\n;
//如果模式为:$mode="/abc/D",
//则不能与$str="adshabc\n"匹配,
//修正符D限制其不可有换行;必需以abc结尾;
//修正符:U
只匹配最近的一个字符串;不重复匹配;

例:
如模式为:
$mode="/a.*c/";

$str="abcabbbcabbbbbc"
;
preg_match($mode,$str,$content);

echo
$content[0];
//输出:abcabbbcabbbbbc;

//如果$mode="/a.*c/";变成$mode="/a.*c/U";
//
则只匹配最近一个字符串,输出:abc;

//修正符:e
配合函数preg_replace()使用,
可以把匹配来的字符串当作正则表达式执行;

时间: 2024-10-29 19:08:37

正则表达式中常用的模式修正符有i、g、m、s、x、e详解的相关文章

从正则表达式的iUs说说模式修正符

本想做个简单的采集程序,发现被抓页面代码的规律后发现抓下来的内容没有放到一个数组中,而是放在一个元素中,无奈找遍资料发现在正则表达式后加上"/iUs"后竟然可以了. 网上关于iUs的说明多数都是抄袭的,没有做过多的解释,对于一个小学毕业证是买来的人来说是在是不好理解.不过幸亏Google让我找到答案. "iUs" 在这里叫"模式修正符".模式修正符其实就是几个字母,可以一次使用一个也可以一次使用多个,每一个都具有一定的意义,模式修正符是对正则表达

正则表达式中模式修正符作用详解(i、g、m、s、x、e)

正则表达式中常用的模式修正符有i.g.m.s.x.e等.它们之间可以组合搭配使用. 它们的作用如下: //修正符:i 不区分大小写的匹配; //如:"/abc/i"可以与abc或aBC或ABc等匹配; //修正符:g表示全局匹配 //修正符:m 将字符串视为多行,不管是那行都能匹配; 例://模式为:$mode="/abc/m";          //要匹配的字符串为:$str="bcefg5e\nabcdfe"              //

正则表达式模式修正符

模式修正符号在正则表达式定界符之外使用(最后一个斜线“/”之后),例如“php/i”.其中“/php/”是一个正则表达式的模式,而“i”就是修正此模式所使用的修正符号,用来匹配时不区分大小写.模式修正符可以调整正则表达式的解释,扩展了正则表达式在匹配.替换等操作时的某些功能,而且模式修正符号也可以组合使用,更增强了正则表达式的处理能力.例如“/php/Uis”则是使用“U”.“i”和“s”三个模式修正符组合在一起使用.模式修正符对编写简洁而简小的表达式大有帮助,在下面的表格中,列出了一些常用的模

正则表达式模式修正符 比如/esi

正则表达式模式修正符 比如/esi 作者: 字体:[增加 减小] 类型:转载 下面列出了当前在 PCRE 中可能使用的修正符.括号中是这些修正符的内部 PCRE 名.修正符中的空格和换行被忽略,其它字符会导致错误. 说明 下面列出了当前在 PCRE 中可能使用的修正符.括号中是这些修正符的内部 PCRE 名.修正符中的空格和换行被忽略,其它字符会导致错误. i (PCRE_CASELESS) 如果设定此修正符,模式中的字符将同时匹配大小写字母. s(PCRE_DOTALL) 如果设定了此修正符,

正则 模式修正符

模式修正符 说明 i 表示在和模式进行匹配进不区分大小写 m 将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束 s 如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行 x 表示模式中的空白忽略不计 e 正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说) A 以模式字符串开头,相当于元字符^ Z 以模式字符串结尾,相当于元字符$ U 正则表达式的特点:就是比较"贪婪",使用

11中常用框架模式

11中常用框架模式 1. 提供程序模式 使其功能变灵活. 实现延伸到外部,暴露给客户端. 个性化扩展需求. 2. 链式编程模式 处理逻辑时流式,连贯的. 大的功能或者问题域分解为小的问题,每个问题域之间没有前后依赖关系. 传统方式或者扩展方法实现,传统方法返回本this. 一般用于验证处理. 3. 管道模式 抽象出一个逻辑管道,信息从一端进入,中间经过定制环节处理,从另一端出去. 管道从复杂程度分为带有客户端和服务端的凹形管道,一般处理复杂的消息处理,另一种是类型队列的直线管道模型,一般用来做消

Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/ceac2IoB-ik/优酷:http://v.youku.com/v_show/id_

Scala中List的构造是的类型约束逆变、协变、下界详解

学习了Scala中List的构造是的类型约束逆变.协变.下界详解,列表中用::加入父类的对象,列表会协变为父类,例子如下: Def :: [B>:A](x:B):List(B)= New scala:collection.imutable.::(x,this) 王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第81讲:Scala中List的构造是的类型约束逆变.协变.下界详解腾讯微云:http://url.cn/UNeLA2百度云盘:ht

[nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)

:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . 从GPIO电平变化到产生中断事件的流程详解  1.GPIOTE概览 nRF51上面有32个GPIO,由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) .GP