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正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性