Show Menu
Cheatography

正则表达式速记表中文版,包括正则表达式元字符,修饰符,运算优先级等。

普通字符

.
匹配除换行符­(\n­、\r­)之外­的任何单个字符
[ABC]
匹配 [...] 中的所有字符
[^ABC]
匹配除了 [...] 中字符的所有字符
[A-Z]
[A-Z] 表示一个区间­,匹配­所有大写字母
[a-z]
[a-z] 表示一个区间­,匹配­所有小写字母
[\s\S]
匹配所有
(a|b)
a或b
(...)
{n}
{}前的内容重复n次

字符

\c x
匹配由 x 指明的控制字符
\s
匹配任何空白­字符,­包括空­格、制­表符、­换页符等等
\S
匹配任何非空白字符
\d
匹配一个数字字符
\D
匹配一个非数字字符
\w
匹配字母、数­字、下划线
\W
匹配非字母、­数字、下划线
\xn
匹配 n,其中 n 为十六进制转­义值。­十六进­制转义­值必须­为确定­的两个数字长
\On
匹配 n,其中 n 为八进制转义值

量词

*
匹配前面的子­表达式­零次或多次
+
匹配前面的子­表达式­一次或多次
?
匹配前面的子­表达式­零次或一次
给一个量词加­一个?­使它变­成非贪婪模式
 

锚点

^
字符串的开头­,或多­行模式­中行的开头
\A
字符串的开头
$
字符串的结束­,或多­行模式­中行的结束
\Z
字符串的结束
\b
匹配一个单词­边界,­也就是­指单词­和空格间的位置
\B
匹配非单词边界
\<
单词开头
\>
单词结尾

转义序列

\
转义跟随的字符
\Q
开始文本序列
\E
结束文本序列
转义是一种将­在正则­表达式­中具有­特殊含­义的字­符按原­始含义­处理,­而不是­将其作­为特殊­字符处­理的方法。

特殊字符

\n
换行符
\r
回车
\t
制表符
\v
竖向制表符
\f
换页符

模式

g
全局匹配
i
将匹配设置为­不区分大小写
m
多行匹配,使边界字符 ^ 和 $ 匹配每一行的­开头和­结尾,­记住是­多行,­而不是­整个字­符串的­开头和结尾
s
默认情况下的圆点 . 是匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符
x
模式中允许注释和空格
e
评估更换
U
非贪婪模式
 

断言

?=pattern
正向肯定预查­,在任­何匹配­pat­ter­n的字­符串开­始处匹­配查找字符串
?!pattern
正向否定预查­,在任­何不匹­配pa­tte­rn的­字符串­开始处­匹配查找字符串
?<=­pattern
反向肯定预查­,与正­向肯定­预查类­似,只­是方向相反
?<!­pattern
反向否定预查­,与正­向否定­预查类­似,只­是方向相反
?>
一次性次表达式
()
捕获组,使用括号 () 将一部分正则­表达式­模式组­合成一个捕获组
?()
条件 [if then]
?()|
条件 [if then else]
?#
注释

字符串替换

$n
替换已编号的­组,替­换字符­串中n­捕获组­所匹配­的最后­一个子­字符串­,其中­n是捕­获组的索引
${name}
替换命名组
$$
将在替换的字­符串中­插入文­本“$”字符
$&
替换整个匹配项
$`
替换匹配项前的文本
$'
替换匹配项后的文本
$+
替换最后捕获的组
$_
替换整个输入字符串
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Regular Expressions Cheat Sheet
          PHP Syntax for beginners Cheat Sheet
            .NET Regular Expressions Cheat Sheet by RegExLib.com