Regular Expressions Cheat Sheet

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

9,383 views 1,371 downloads 23 Dec 2023 History

普通字符

.
匹配除换行符­(\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.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.