使用Sublime和Visual Studio Code跨行搜索替换文本

跨行搜索替换(主要是正则表达式)虽然平时不怎么常用,但是碰到适合的场景,确实非常高效。不过这个小技巧时间一长容易忘记,加上各文本编辑器实现的不同,再次使用总是要再折腾一番,这次简单记录下,好记性不如烂笔头!假设有以下JSON Sample数据(为了方便展示,这里只有一条数据,实际场景可能是多条)。现在我需要搜索所有Friends的数据,即匹配"Friends": [XXX]这种模式的数据。

 1 [
 2   {
 3     "UserName": "王二",
 4     "Email": "user-name@company.com",
 5     "Gender": "Male",
 6     "Friends": [
 7       {
 8         "Name": "张三",
 9         "Email": "user-name@company.com",
10         "Telephone": "021-12345678"
11       },
12       {
13         "Name": "李四",
14         "Email": "user-name@company.com",
15         "Telephone": "021-12345678"
16       }
17     ]
18   }
19 ] 

1.Sublime Text使用正则表达式: "Friends"[sS]+?]或者 "Friends"[wW]+?] 或者"Friends"[dD]+?]

2. Visual Studio Code使用正则表达式: "Friends"[sS ]+?] 或者"Friends"[wW ]+?]或者"Friends"[dD ]+?]

是的,你没看错,在使用正则表达式搜索的时候,Sublime Text中,双引号、中括号这样的特殊字符都需要转义,VS code则有的需要(中括号)有的不需要(双引号),和标准的正则表达式不同,VS code需要额外加上 才能进行多行匹配。

另外,除了使用正则表达式,Sublime Text和VS code也支持常规的多行搜索替换,Sublime Text和VS code均支持直接粘贴复制换行(文本里包括换行)和按CTRL + Enter换行。再多说一点:VS code的多文件搜索替换那是相当好用,以下是常规的多行搜索。

原文地址:https://www.cnblogs.com/makesense/p/13179983.html