Cheatography
https://cheatography.com
正则表达式速记表中文版,包括正则表达式元字符,修饰符,运算优先级等。
普通字符
. |
匹配除换行符(\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 |
正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串 |
?!pattern |
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串 |
?<=pattern |
反向肯定预查,与正向肯定预查类似,只是方向相反 |
?<!pattern |
反向否定预查,与正向否定预查类似,只是方向相反 |
?> |
一次性次表达式 |
() |
捕获组,使用括号 () 将一部分正则表达式模式组合成一个捕获组 |
?() |
条件 [if then] |
?()| |
条件 [if then else] |
?# |
注释 |
字符串替换
$n |
替换已编号的组,替换字符串中n捕获组所匹配的最后一个子字符串,其中n是捕获组的索引 |
${name} |
替换命名组 |
$$ |
将在替换的字符串中插入文本“$”字符 |
$& |
替换整个匹配项 |
$` |
替换匹配项前的文本 |
$' |
替换匹配项后的文本 |
$+ |
替换最后捕获的组 |
$_ |
替换整个输入字符串 |
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets