Visual Studio 代码搜索并替换为正则表达式

问题描述 投票:0回答:5

我想在 Visual Studio Code 中使用“搜索和替换”,使用正则表达式将文档中

<h1>content</h1>
的每个实例更改为
#### content

我怎样才能做到这一点?

regex visual-studio-code
5个回答
400
投票

那么,您的目标是搜索和替换?
根据 Visual Studio Code 的键盘快捷键 PDF,您可以在 WindowsLinux 上按 Ctrl + H,或在 上按 ⌥⌘F Mac 启用搜索和替换工具:

Visual studio code's search & replace tab 如果您想禁用该代码,只需在搜索中输入

<h1>
,然后替换为
####

但是如果您想使用此正则表达式,您可以在图标中启用它:.*并使用正则表达式:

<h1>(.+?)<\/h1>
并替换为:
#### $1

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


110
投票

对于初学者,我想添加已接受的答案,因为我不清楚一些微妙之处:

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

  1. 在“查找”步骤中,您可以将正则表达式与“捕获组”一起使用,例如您的搜索可以是

    la la la (group1) blah blah (group2)
    ,使用括号。

  2. 然后在“替换”步骤中,您可以通过

    $1
    $2
    等引用捕获组。

因此,例如,在这种情况下,我们可以仅使用 <h1>.+?<\/h1>(无括号)来

找到
相关文本,但是放入括号
<h1>(.+?)<\/h1>
允许我们将它们之间的子匹配引用为
$1 
替换步骤中。 凉爽的!

注释

  • 要在“查找小部件”中打开正则表达式,请单击

    .*
    图标,或按
    Cmd/Ctrl
    Alt
    R

  • $0
    指整场比赛

  • 最后,最初的问题指出替换应该在“文档内”进行,因此您可以使用“查找小部件”(

    Cmd
    Ctrl
    +
    F
    ),它位于打开的文档的本地,而不是“搜索”,它会打开更大的 UI 并查看项目中的所有文件。


13
投票

例如,如果您需要,将

.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"},
  ...
]

0
投票

确保选择“匹配大小写”和“使用正则表达式”,以便匹配。 [A-Z]* 如果未选择匹配大小写,则会匹配所有字母。


0
投票

一个好方法,就是使用 Chat GPT..

这是一个仅替换链接文本而不替换链接本身的示例 控制H,然后

在第一个字段中:()(.*?)()

替换为:$1yourNewText$3

© www.soinside.com 2019 - 2024. All rights reserved.