千家信息网

php中正则表达式怎么使用

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,小编给大家分享一下php中正则表达式怎么使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!原子:^ 在()或[]中取反 例
千家信息网最后更新 2024年11月22日php中正则表达式怎么使用

小编给大家分享一下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中正则表达式怎么使用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0