使用正则表达式搜索和替换Visual Studio代码

我想使用Visual Studio Code中的“搜索和替换”,使用正则表达式将文档中的<h1>content</h1>的每个实例更改为#### content

我怎么才能做到呢?

250321 次浏览

所以,你的目标是搜索和替换?根据Visual Studio Code的键盘快捷键PDF,您可以在窗户Linux上按Ctrl + H,或在Mac上按< kbd >⌥⌘F < / kbd >来启用搜索和替换工具:

Visual studio code's search &替换“/>”tab</a>
如果你想禁用代码,你只需要在搜索中放入<code><h1></code>,并替换为<code>####</code>.</p>
<p>但如果你想使用这个正则表达式,你可以在图标:<sub><sub><sub><a href=。* < / >中启用它,并使用正则表达式:<h1>(.+?)<\/h1>并替换为:#### $1

正如@tpartee所建议的,如果你想了解更多,这里有关于Visual Studio引擎的更多信息:

确保匹配大小写选择使用正则表达式,以便匹配。[a - z] * 如果不选择“匹配大小写”,则匹配所有字母。< / p >

对于初学者来说,我想在公认答案的基础上补充一些内容,因为我不清楚一些微妙之处:

要查找和修改文本(不完全替换),

  1. 在“Find”步骤中,您可以使用带有“捕获组”的正则表达式,例如,您的搜索可以是la la la (group1) blah blah (group2),使用括号。

  2. 然后在“Replace”步骤中,你可以通过$1$2等引用捕获组。

因此,例如,在这种情况下,我们可以用<h1>.+?<\/h1>(没有括号)找到相关文本,但是在括号中放入<h1>(.+?)<\/h1>允许我们在取代步骤中将它们之间的子匹配引用为$1。太酷了!

笔记

  • 要在“查找小部件”中打开Regex,请单击.*图标,或按Cmd/Ctrl Alt R

  • $0指的是整个匹配

  • 最后,原来的问题指出替换应该发生在“文档内”,所以你可以使用“查找小部件”(CmdCtrl + F),它是打开文档的本地,而不是“搜索”,它会打开一个更大的UI,并在项目中的所有文件中查找。

例如,将.json文件中的所有国家代码从大写改为小写:

Ctrl+h
Alt+r
Alt+c


Find: ([A-Z]{2,})
Replace: $1


Alt+Enter
F1
type: lower -> select toLowerCase
Ctrl+Alt+Enter

示例文件:

[
{"id": "PL", "name": "Poland"},
{"id": "NZ", "name": "New Zealand"},
...
]

我使用html中的这一行来查找我不熟悉的页面的结构。内联样式:style="border: 4px solid differentColors;"最后我把它取出来。在VSCode中,如果我搜索style=" border: 4px solid(.+?);"使用regex选项,它不会找到任何东西,但Atom可以,所以,我使用Atom删除内联样式。