本文实例讲述了php正则修正符用法。分享给大家供大家参考,具体如下:
<?php
//标记在整个模式之外;
// 例://$mode="/\bis\b/U",其中U在外面;
//修正符:i 不区分大小写的匹配;
//如:"/abc/i"可以与abc或aBC或ABc等匹配;
//修正符: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()使用,
// 可以把匹配来的字符串当作正则表达式执行;
?>
修正符:
POSIX兼容正则没有修正符。
PERL兼容正则中可能使用的修正符(修正符中的空格和换行被忽略,其它字符会导致错误):
i (PCRE_CASELESS):
匹配时忽略大小写。
m (PCRE_MULTILINE):
当 设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(\n)的之后和之前。
s (PCRE_DOTALL):
如 果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
x (PCRE_EXTENDED):
如 果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略。
e :
如果设 定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。 只有 preg_replace() 使用此修正符,其它 PCRE 函数将忽略之。
A (PCRE_ANCHORED):
如 果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配。
D (PCRE_DOLLAR_ENDONLY):
如 果设定了此修正符,模式中的行结束($)仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,也会被匹配在里面。如果设定了 m 修正符则忽略此选项。
S :
当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。 如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。
U (PCRE_UNGREEDY):
使 “?”的默认匹配成为贪婪状态的。
X (PCRE_EXTRA):
模式中的任何反斜线后面跟上 一个没有特殊意义的字母导致一个错误,从而保留此组合以备将来扩充。默认情况下,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。
u (PCRE_UTF8):
模 式字符串被当成UTF-8。
注意:
模式修正符(Pattern Modifiers)
i -可同时匹配大小写字母
M -将字符串视为多行
S -将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符
X -模式中的空白忽略不计
U -匹配到最近的字符串
e -将替换的字符串作为表达使用
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# 正则
# 修正符
# php中使用preg_match_all匹配文章中的图片
# php preg_match_all结合str_replace替换内容中所有img
# PHP中preg_match正则匹配中的/u、/i、/s含义
# PHP函数preg_match_all正则表达式的基本使用详细解析
# PHP 正则表达式之正则处理函数小结(preg_match
# preg_match_all
# preg_replace
# preg_split)
# PHP preg_match的匹配多国语言的技巧
# PHP preg match正则表达式函数的操作实例
# php中获取指定IP的物理地址的代码(正则表达式)
# PHP IPV6正则表达式验证代码
# PHP 正则表达式效率 贪婪、非贪婪与回溯分析(推荐)
# php常用正则函数实例小结
# php使用preg_match()函数验证ip地址的方法
# 定了
# 换行
# 换行符
# 正则表达式
# 程序设计
# 操作技巧
# 也会
# 相关内容
# 都能
# 不可以
# 将其
# 也可
# 感兴趣
# 对其
# 给大家
# 将被
# 在里面
# 更多关于
# 不包括
# 可有
相关文章:
宁波自助建站系统如何快速打造专业企业网站?
常州企业建站如何选择最佳模板?
如何在新浪SAE免费搭建个人博客?
建站之星展会模板:智能建站与自助搭建高效解决方案
如何通过IIS搭建网站并配置访问权限?
如何选购建站域名与空间?自助平台全解析
如何选择靠谱的建站公司加盟品牌?
高性价比服务器租赁——企业级配置与24小时运维服务
开心动漫网站制作软件下载,十分开心动画为何停播?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
如何通过VPS搭建网站快速盈利?
如何用y主机助手快速搭建网站?
,石家庄四十八中学官网?
如何快速查询网站的真实建站时间?
如何快速启动建站代理加盟业务?
建站主机选购指南:核心配置与性价比推荐解析
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
建站之星安装失败:服务器环境不兼容?
建站主机是否属于云主机类型?
浅析上传头像示例及其注意事项
如何在VPS电脑上快速搭建网站?
建站之星安装后如何配置SEO及设计样式?
如何通过西部建站助手安装IIS服务器?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
建站之星下载版如何获取与安装?
如何挑选最适合建站的高性能VPS主机?
如何做网站制作流程,*游戏网站怎么搭建?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
网站制作服务平台,有什么网站可以发布本地服务信息?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
在线制作视频的网站有哪些,电脑如何制作视频短片?
南京网站制作费用,南京远驱官方网站?
,有什么在线背英语单词效率比较高的网站?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
韩国服务器如何优化跨境访问实现高效连接?
如何用wdcp快速搭建高效网站?
建站之星后台密码如何安全设置与找回?
如何快速搭建响应式可视化网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
公众号网站制作网页,微信公众号怎么制作?
如何在服务器上配置二级域名建站?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
*请认真填写需求信息,我们会在24小时内与您取得联系。