当前位置:首页 >> 网络编程

详解可以用在VS Code中的正则表达式小技巧

你是不是一直都想学正则表达式,但是因为它的复杂性而被推迟了?在本文中,我将向你展示五个易于学习的正则技巧,你可以立即在自己喜欢的文本编辑器中使用它们。

详解可以用在VS Code中的正则表达式小技巧

文本编辑器设置

虽然现在几乎所有的文本编辑器都支持正则表达式,但我在本教程中用的是 Visual Studio Code,不过你可以使用任何你喜欢的编辑器。另请注意,你通常需要在搜索输入框附近的某处打开 RegEx 开关。以下是在 VS Code 中执行此操作的方法:

详解可以用在VS Code中的正则表达式小技巧

你需要通过选中此选项启用RegEx

1) ."htmlcode">

b.t

详解可以用在VS Code中的正则表达式小技巧

上面的正则匹配 "bot"`"bat"和任何以b开头、t结尾的三个字符的单词。但是如果你想搜索点符号,则需要用 \ 来对它进行转义,所以下面这个正则只匹配确切的文本 "b.t"

b\.t

详解可以用在VS Code中的正则表达式小技巧

2) .* "htmlcode">

loadScript(scriptName: string, pathToFile: string)

我们想找到这个方法的所有调用,其中 pathToFile 指向文件夹“lua” 中的任何文件。可以使用以下正则表达式:

loadScript.*lua

这意味着,“匹配所有以 "loadScript" 开始同时以"lua"结束的字符串。”

详解可以用在VS Code中的正则表达式小技巧

3) "lua"字符串,直到第二个 "lua" 所有东西才能全部匹配完毕。如果你想匹配第一次出现的"lua",可以使用以下正则:

loadScript.*"loadScript"开头,后面为任意字符,直到第一次出现"lua"

详解可以用在VS Code中的正则表达式小技巧

loadScript.*"lua"

4) `( ) ### "text-align: center">详解可以用在VS Code中的正则表达式小技巧

通过上图你可以看到运行以下正则表达式的结果:

loadScript\(.*"loadScript(" 开头的, 后面跟任意内容,直到遇到第一个, ,然后是任意内容,直到第一个)

对你来说,可能看唯一起来比较奇怪的是 \ 符号。它们用于对括号进行转义。

因为符号 () 是正则表达式用来捕获匹配文本部分的特殊字符,但我们需要匹配实际的括号字符,所以需要对它们进行转义。

在前面的表达式中,我们使用.*?符号定义了方法调用的两个参数。要使每个参数作为单独的捕获组,需要在它们的前后分别添加()符号:

loadScript\((.*"htmlcode">
loadScript\((.*"htmlcode">
loadScript($1,id,$2)

这意味着“用文本"loadScript("、捕获组1、"id"、捕获组2和 ) 替换每个匹配的文本 ”。请注意,你不需要在替换输入中转义括号。

详解可以用在VS Code中的正则表达式小技巧

5) [ ] "text-align: center">详解可以用在VS Code中的正则表达式小技巧

后记

你应该知道有几种正则表达式的写法。我在这里讨论的是 javascript RegEx 引擎。大多数现代引擎都很相似,但也可能会存在一些差异。通常这些差异包括转义字符和反向引用标记。

你现在就可以打开文本编辑器,立即开始使用其中的一些技巧。你将看到可以比以前更快地完成许多重构任务。一旦你掌握了这些技巧,就可以开始研究更多的正则表达式了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。