小编给大家分享一下php中正则表达式怎么使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
原子:
^ 在()或[]中取反 例如:[^\d] 等于匹配非数字
a-z A-Z_ 0-9 //最常见的字符
(abc) //用括号扩起来的将当作一个整体匹配,必须是abc同时在一块才能匹配成功
[abc] //方括号与圆括号相反,表示可以是a、b、c
\d 包含所有数字[0-9]
\B 除所有数字外[^0-9]
\w 包含所有常见字符[a-zA-Z_0-9]
\w 不包含所有常见字符[^a-zA-Z_0-9]
\s 包含空白区域,如回车、换行、分页等[\f\n\r]
元字符:
* 匹配前一个内容的0次1次或多次 例如: /key*rey/ 匹配y的0次一次或多次 y* 是一个整体,不管实际字符串中是否有y; {"keyrey","kerey":匹配成功}
. 匹配内容的0次1次或多次,但不包含回车换行,通配符; /key.*rey/ 匹配key rey中间的任何内容 {keyfds*$7fd732f_)rey:匹配成功}
+ 匹配前一个内容的1次或多次 /key+rey/ 匹配y的一次或多次,字符串中必须要y才能匹配成功; {"keyrey","keyyyyyrey":匹配成功},{"kerey":匹配失败}
? 匹配前一个内容的0次或1次 /key?rey/ 匹配y的0次或一次; {"keyrey" "kerey":匹配成功},{"keyyrey":匹配失败}
| 选择匹配类似PHP中的|| /keyrey|baidu/ {"keyrey%*baidu":匹配成功},{"fdas","baidu":匹配成功}
^ 匹配字符串首部内容 /^keyrey/ 必须以keyrey开头
$ 匹配字符串尾部内容 /keyrey$/ 必须以$结尾
\b 匹配单词边界,边界可以是空格或者特殊字符 中文环境下主要用来匹配空格
\B 匹配除带单词边界以外内容
{m} 匹配前一个内容的重复次到m次; /key{1}rey/ 匹配y1次 {"keyrey":匹配成功},{"keyyrey","kerey":匹配失败}
{m,} 匹配前一个内容的重复次数m次到n次; /key{1,}rey/ 匹配1到n次 {"keyrey","keyyyyrey":成功,"kerey":匹配失败}
{m,n} 匹配前一个内容的重复次数m次到n次 /key{3,5}rey/ 匹配3到6次之间
() 合并整体匹配,并放入内存,可使用\1\2...依次获取 /(gle)(.*)\\1.*\\2/ {"gleAAAgle11AAA":成功}
PHP中常用模式修正符:
运算优先级: () * ? + {} ^ $ \b | 最后按运算顺序
i 正则内容在匹配的时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
S 将转义回车取消为单行匹配如.匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 相知$匹配尾部无任何内容 \n
U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束,常用在采集程序上的正则表达式
java 中非贪婪 (.*?)
以上是“php中正则表达式怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。