php正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则表达式相关的知识,希望对你有一定的参考价值。

1,以/为起始和截止符
2,^tm表示行开头匹配tm tm$表示行结尾匹配tm 直接tm表示整个匹配
3,单词定界符:(\b, \B),\b表示匹配的是一个单词,\B表示匹配的不是一个单词
例如\btm\b表示匹配一个完整的单词tm, \Btm\B表示匹配的不是一个完整的单词,而是其他单词或者字符串的一部分
4,字符类
正则表达式是区分大小写的,如果忽略大小写可以使用方括号表达式"[]",比如[Tt],表示不区分T的大小写
另一个不区分大小写是"|",两者区别是前者只有单字符,后者可以多字符串

5,连字符"-"表示范围

例如[a-zA-Z]表示匹配所有的字符开头的字符串

6,排除号字符"^"

这个字符和2一样,但是如果放在字符前面,表示开头匹配,但是放在方括号"[]"中,则表示排除号字符,例如[^a-zA-Z]表示匹配所有的不以字符a-z和A-Z开头的字符串

7,限定符(?,+,*,{n,m})

代表的意思分别是

限定符 说明 举例
匹配前面的字符零次或者一次 colou?r匹配color或者colour
+ 匹配前面的字符一次或者或者多次 go+gle陪陪匹配gogle,google,gooogle
* 匹配前面的字符零次或者多次 go*gle匹配ggle,gogle
{n} 匹配前面的字符n次 go{2}gle只匹配google
{n,} 匹配前面的字符最少n次 go{2}gle匹配google,gooogle,goooogle
{n,m} 匹配前面的字符最少n次,最多n次 go{2,3}gle只匹配google,gooogle

8,点号字符(.)

点号字符可以匹配除了换行符之外的任何一个字符,注意,是一个字符,那么以s开头,t结尾,中间有一个字符的正则表达式是^s.t$

9,小括号

小括号的作用有两个,一个是改变限定符的作用范围,例如(thirt|four)th表示匹配thirth,fourth,另外一个作用是分组,也就是子表达式,例如(\.[0-9]{1,3}){3}是对分组进行操作

10,反斜线对应的预定字符串信息

预定义字符集 说明
\d 任意一个十进制数
\D 任意一个非十进制数
\s 任意一个空白字符(空格,换行符,分页符,回车符,水平制表符),对应于[\f\n\r\t]
\S 任意一个非空白字符
\w 任意一个单词字符,相当于[a-zA-Z0-9_]
\W 任意一个非单词字符

以上是关于php正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

求php完整代码 使用正则表达式检索用户输入的查询关键字,并描红

PHP编程中经常用到的正则表达式代码分享

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串