1

有用的正则表达式

 2 years ago
source link: https://wocai.de/post/2019/07/%E6%9C%89%E7%94%A8%E7%9A%84%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

正则表达式英文叫 “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*

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


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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK