核心概念

regex · 正则表达式

/ REJ-eks /

正则表达式(regex)是一种小巧的「模式语言」,用来描述你要找的文本长什么样——然后批量地查找、匹配或替换它。你不再去搜某一个固定的词,而是描述它的「形状」:「一个数字,后面还跟着数字」,或者「任何看起来像电子邮件的东西」。

它精炼得令人惊喜。模式 \d+ 表示「一个或多个数字」;\w+ 表示「一个单词」;^ 锚定到一行的开头,$ 锚定到结尾。几个符号,就能替你省下一整个下午的手动查找替换。

它也以「天书」著称——一段密密麻麻的正则,看起来就像猫在键盘上走了一趟。诀窍是一小块一小块地拼出来、边写边测,而不是试图一口气读懂一长串。

\d{3}-\d{4}   # matches a phone like 555-1234
\w+@\w+\.\w+  # roughly matches an email address

两个小模式:\d 是数字,\w 是单词字符,{3} 表示「正好三个」。

不同语言和工具的正则「方言」略有差异——拿不准时,就在线上正则演练场里实测一下。

又称
regexpregular expressionpattern matchinggrep