您一直想要的正则表达式 (RegEx) 备忘单
感谢阅读
我明白,虽然正则表达式非常有用,但掌握它却极其困难!这份速查表提供了最常用的正则表达式用例,方便您在需要时快速掌握正则表达式的语法!
人物
人物 | 传奇 | 例子 | 样本匹配 |
---|---|---|---|
[abc],[ac] | 匹配给定的字符/字符范围 | abc[abc] | abca、abcb、abcc |
[^abc], [^ac] | 否定并匹配给定的字符/字符范围 | abc[^abc] | abcd、abce、abc1、... |
。 | 除换行符之外的任意字符 | 公元前。 | bca,bcd,bc1,b.,... |
\d | 任意数字字符(相当于[0-9]) | 光盘 | c1、c2、c3... |
\D | 任何非数字字符(相当于 [^0-9]) | 光盘 | ca,c.,c* ... |
\w | 任意字母数字字符(相当于 [A-Za-z0-9_]) | 一个\ | 啊,啊,啊…… |
\W | 任何非字母数字字符(相当于 [A-Za-z0-9_]) | 一个\W | a)、a$、a?... |
\s | 通常用于空格,但也可以用于换行符、制表符等 | 作为 | 一个 |
\S | 不是空格或换行符、制表符等等效符号 | 作为 | AA |
\t | 匹配水平制表符 | T\tab | 标签 |
\r | 匹配回车符 | AB\r\nCD | AB CD |
\n | 匹配换行符 | AB\r\nCD | AB CD |
\ | 转义特殊字符 | \d | 0,1,... |
x|y | 匹配“x”或“y” | a|b | a、b |
断言
人物 | 传奇 | 例子 | 样本匹配 |
---|---|---|---|
^ | 根据多行模式,字符串的开头或行的开头 | ^abc.* | abc、abd、abcd、... |
$ | 根据多行模式,结束字符串或开始行 | .*xyz$ | xyz、wxyz、abcdxyz、... |
\b | 匹配一个单词字符,后面不跟另一个单词字符 | 我的.*\bpie | 我的苹果派,…… |
\B | 匹配非单词边界 | c.*\Bcat | 山寨, ... |
x(?=y) | 前瞻断言:仅当“x”后面跟着“y”时才匹配“x” | \d+(?=€) | 1 美元 = 0.98欧元,... |
x(?!y) | 负向前瞻断言:仅当“x”后面跟着“y”时才匹配“x” | \d+\b(?!€) | 1美元= 0.98欧元,... |
(?<=y)x | 后视断言:仅当“x”前面有“y”时才匹配“x” | (?<=\d)\d | 1 美元 = 0.9* 8 *欧元,... |
(?<!y)x | 负向后视断言:仅当“x”前面没有“y”时才匹配“x” | (?<!\d)\d | 1美元= 0.98欧元,... |
团体
人物 | 传奇 | 例子 | 样本匹配 |
---|---|---|---|
(x) | 捕获组:匹配 x 并记住匹配 | A(nt|pple) | Ant(记住“nt”) |
(?<名称> x) | 捕获组:匹配 x 并将其存储在提到的变量中 | A(?<m>nt|pple) | 蚂蚁(m =“nt”) |
(?:名称> x) | 非捕获组:匹配 x 但不记住匹配 | A(?:nt|pple) | 蚂蚁 |
\ n | 返回引用与n 个括号匹配的最后一个子字符串 | (\d)+(\d)=\2+\1 | 5+6=6+5 |
量词
人物 | 传奇 | 例子 | 样本匹配 |
---|---|---|---|
x* | 匹配前一项“x”0次或多次 | 一个* | 啊,啊,啊,…… |
x+ | 匹配前导项“x”1次或多次,相当于{1,} | a+ | 啊,啊,啊,…… |
x? | 匹配前一项“x”0 次或 1 次 | ab? | a、ab |
x{ n } | 匹配前一项“x” n次(n =正整数) | ab{5}c | abbbbbc |
x{ n ,} | 匹配前一项“x”至少n次(n =正整数) | ab{2,}c | abbc,abbbc,abbbbc,... |
x{ n , m } | 匹配前一项“x”至少n次,最多m次(n < m) | ab{2,3}c | abbc,abbbc |
笔记
量词默认是贪婪的(它们会尝试匹配尽可能多的字符串)。量词?
后面的字符使量词变为非贪婪的(一旦找到匹配项就会停止)。
例如:\d+?
对于测试字符串12345
将仅匹配1
,但\d+
将匹配整个字符串12345
旗帜
标志放在正则表达式的末尾。它们用于修改正则表达式的行为。
例如:/a/
对于测试字符串a
将仅匹配a
,但添加标志i
(/a/i
)将匹配a
和A
人物 | 传奇 |
---|---|
d | 生成子字符串匹配的索引 |
克 | 全局搜索 |
我 | 不区分大小写的搜索 |
米 | 多行搜索 |
秒 | 允许. 匹配换行符 |
你 | 将模式视为Unicode 代码点序列 |
y | 从目标字符串的当前位置开始执行匹配的粘性搜索 |
就这样吧,伙计们!
感谢阅读
需要一位顶级软件开发自由职业者来解决你的开发难题吗?在Upwork上联系我
想联系我吗?请在LinkedIn上联系我
关注我的博客,每两周在Medium上获取最新资讯
常问问题
这些是我经常收到的一些问题。希望这个常见问题解答部分能解决您的问题。
-
我是初学者,该如何学习前端 Web 开发?
可以参考以下文章: -
你能指导我吗?
抱歉,我工作已经很忙了,没时间指导任何人。