(使用Sublime Text 来处理文本)

启用正则

【Find】→ 【Find…】 (或者按 Ctrl + F) ,打开查找面板

打开 正则开关:

在 表达式书写区(即查找内容 文本框)添加 正则表达式

选中所有匹配内容

在 【查找面板】 点击 【Find All】,会选中所有与 正则表达式 匹配的内容,

此时,【查找面板】会自动隐藏(一个令人不大理解的设计),再点击菜单上的 【Edit】→【Copy】来复制前一步选中的内容。

正则教程

正则表达式30分钟入门教程

https://deerchao.cn/tutorials/regex/regex.htm

正则实例

用正则选取11位学号,发现 12位学号的 前11位也会匹配

如何只匹配刚好11位数字的学号?

(?<=\D)\d{11}(?=\D)

可以使用这个[[正则表达式]]

\d  表示数字,小写

\D 则表示非数字,大写

(?<=表达式)   表示在匹配的内容前,应该是什么内容

(?=表达式)   表示在匹配的内容后,应该是什么内容

所以,(?<=\D) 就表示,在匹配的内容前,应该是个非数字

(?=\D)  就表示,在匹配的内容后,应该是个非数字

这两个条件,把\d{11}   包含在中间,就匹配刚刚好11位的数字
(前面、后面 都不能有数字,中间刚刚好11位数字)

以上使用的是「零宽断言」
也可以改用「负零宽断言」
刚好相反:
(?<!\d)\d{11}(?!\d)