正则表达式

元字符 描述
. 查找任意的单个字符,除换行符外
w 任意一个字母或数字或下划线,A_Za_Z0_9,_中任意一个
W 查找非单词的字符,等价于[^A_Za_z0_9_]
d 匹配一个数字字符,等价于[0-9]
D 匹配一个非数字字符,等价于[^0-9]
s 匹配任何空白字符,包括空格,制表符,换行符等等。等价于[fnrtv]
S 匹配任何非空白字符,等价于[^fnrtv]
b 匹配一个单词边界,也就是指单词和空格间的位置,比如’erb’可以匹配”never”中的”er”,但是不能匹配”verb”中的”er”
B 匹配非单词边界,’erB’能匹配’verb’中的’er’,但不能匹配’never’中的’er’
  查找NUL字符。
n 匹配一个换行符
f 匹配一个换页符
r 匹配一个回车符
t 匹配一个制表符
v 匹配一个垂直制表符
xxx 查找一个以八进制数xxx规定的字符
xdd 查找以16进制数dd规定的字符
uxxxx 查找以16进制数的xxxx规定的Unicode字符。
 

 

 

RegExp特殊字符中的需要转义字符

需要转义的特殊字符前面加 

  $ 匹配输入字符串的结尾位置,如果需要匹配$本身的话,使用$

  ^ 匹配输入字符串的开始位置,匹配^本身的话,使用^

  * 匹配前面的子表达式的零次或者多次,匹配*本身的话,使用*

  + 匹配子表达式的1次或者多次,匹配+本身的话,使用+

  . 匹配除换行符之外的任何一个字符,匹配.本身的话,使用.

  [ 匹配一个中括号开始,匹配本身的,使用[

  ? 匹配前面的子表达式的零次或者1次,或指明一个非贪婪限定符,要匹配本身的话,使用?

   匹配本身的话,请使用

  { 标记限定符开始的地方,要匹配{ ,请使用{

  | 指明多项中的一个选择,可以理解含义为或的意思,匹配本身的话,使用|

量词 描述
n+ 匹配任何至少包含一个n的字符串
n* 匹配零个或者多个n的字符串
n? 匹配零个或者1个n的字符串
n{x} 匹配包含x个n的序列字符串
n{x,y} 匹配至少x个,最多y个n的字符串
n{x,} 匹配至少x个的字符串
n$ 匹配以n结尾的字符串
^n 匹配以n开头的字符串
?=n 匹配其后紧接指定的n字符串
?!n 匹配其后没有紧接指定的n字符串

 这些是模式修正符 -- 解说正则表达式模式中使用的修正符


如果设定此修正符,模式中的字符将同时匹配大小写字母。 

m
当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。

s
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。

x
如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。 

e
如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换

 

 

原文地址:https://www.cnblogs.com/blueskycc/p/5044420.html