Skip to content
Phone animation 宇宙尽头的餐馆

基本无害的正则表达式

整理了一下自己常用的。

· 2 min

整理了一些平日用的比较多的正则表达式,非专业我感觉足够了。本文亦提供 PDF 和 tex 版本,可在文末下载。

匹配符(Quantifiers)#

匹配多个字符(Grouping)#

或运算(Alternation)#

竖线 | 用于表示“或”,类似“或”语句。

字符类 (Character Classes):#

元字符 (Metacharacters)、简写字符集(Shorthand Character Sets)#

NOTE

在 VS Code 中 \s 无法匹配换行,需要指定 \n 来匹配

End\r?\nBegin 匹配“End”和“Begin”的条件是,“End”是行中的最后一个字符串,而“Begin”是下一行中的第一个字符串。 在 Windows 操作系统中,大多数行以“\r\n”(回车符后跟新行)结束。 这些字符不可见,但在编辑器中存在并传递给 .NET 正则表达式服务。 在处理来自 Web 或非 Windows 操作系统的文件时,请务必考虑到这些文件仅使用新行进行换行的情况。(参考

转义特殊字符#

反斜线 \ 在表达式中用于转义紧跟其后的字符。 用于指定 { } [ ] / \ + * . $ ^ | ? 这些特殊字符。

贪婪匹配 vs 懒惰匹配(Greedy vs Lazy Matching)#

平常用的比较多的就是这些了,下面的零宽度断言偏专业一点。

Lookarounds(零宽断言)#

真的是十分让人摸不着头脑的一个翻译。断言是什么东西我不造啊!

Lookarounds 匹配字符,但不将它们包含在匹配结果中。它们是“零宽度”的,意味着它们不消耗字符串中的任何字符。

符号描述
?=正先行断言-存在
?!负先行断言-排除
?<=正后发断言-存在
?<!负后发断言-排除

下载#

Cheat sheet
Cheat sheet

PDF 版本:PDF LaTeX:LaTeX

参考资料#

> cd ..