元字符 | 描述 |
. | 查找任意的单个字符,除换行符外 |
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字符串 |
这些是模式修正符 -- 解说正则表达式模式中使用的修正符
i
如果设定此修正符,模式中的字符将同时匹配大小写字母。
m
当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。
s
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
x
如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。
e
如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换
☜☞梦想总是要有的,万一实现了呢☜☞