工作中总会用到一些使用正则表达式的时候,这个东西又特别难记,所以新开一篇文章专门放自己常用的正则表达式。

正则表达式英文叫 “regular expression” ,直译过来就是规律表达式的意思,不知道第一个这么翻译的人是谁。

一、正则表达式学习教程

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

如果只是快速查一下表,可以看这个 正则表达式速查表

二、正则表达式匹配工具

写完正则表达式后,一般都需要测试一下,不要直接扔到测试环境里。

你可以用

  1. [https://regex101.com/]
  2. [https://deerchao.cn/tools/wegester/index.html]

来检查自己的公式。

如果你写的是js版本,你可以用 [https://regexper.com/] 来可视化的看自己的公式。

这里推荐一下:[http://wangwl.net/static/projects/visualRegex/],也是一个好用的可视化工具。

可视化工具

三、正则表达式在工具中的使用

3.1 VS Code

这是非常常用的编辑器,使用正则也很简单,按下 command + f 打开文件搜索,点击搜索框最右边的icon,激活正则表达式模式。

VS Code

这样第一行就能输入正则表达式,匹配之后还可以在替换中替换字符。

3.2 JavaScript

在js中使用正则表达式也很简单,首先创建表达式字面量。

let regex = new RegExp("ab+c");

然后可以调用一些方法来使用。

var result = regex.exec("your input text");
// 如果匹配到返回一个数组

同理,还可以使用 testmatchsearchreplacesplit 方法。 具体的使用请看MDN的这篇文章

3.3 Office Word

很神奇,word竟然也支持,只要在替换的高级搜索中,勾选“使用通配符”,就可以使用了。

Word

至于同厂的 Excel ,竟然不支持这个功能,只能通过内嵌的VBA来实现。这里就不多说了。

此外,Mac OS 自带的 Number 和 Page 均不支持此功能,死心吧。

四、一些常用的正则表达式

这里后续会陆续更新一些内容进来。

4.1 匹配空行

^\s*(?=\r?$)\n

^ 代表一行开始,\s*0个或任意空白字符,\n匹配换行符。

(?=\r?$)复杂些,\r?匹配0个或1个回车符,$代表行尾。(?=)代表正向匹配预查,匹配后面紧跟着的\r?$^\s*

含义是这个含义,至于怎么构造出来的我就不太理解了。但是确实是有用的。


好啦,最后祝大家高效工作少加班。