在 VSCode 中搜索和替换

时间:2021-04-06 23:31:56

标签: regex xml visual-studio-code

我正在尝试在 VSCode 中的所有 xml 文件中进行搜索和替换。我对所有名称为“somekey”的文件中的以下行感兴趣

<setting name="somekey" value="abc-def.google.xyz.com" />
<setting name="somekey" value="abc-xyz.google.xyz.com" />

我正在尝试将此行转换为

<setting name="somekey" value="abc-def-ghi.google.xyz.com" />
<setting name="somekey" value="abc-xyz-ghi.google.xyz.com" />

到目前为止我有这个

(https://regex101.com/r/WeEkgQ/1

1 个答案:

答案 0 :(得分:0)

您可以将匹配到 .google.xyz.com 的部分移动到第一组,并在替换中使用 2 个捕获组 $1.ghi$2

要从字面上匹配点,您必须将其转义 \. 并注意当前模式与结束的 /> 不匹配

(<setting name="somekey" value="abc-.*?)(\.google\.xyz\.com")

Regex demo

注意,这部分 (.|n) 匹配任何字符或 n 字符。如果您打算使用 (.|\n),则可以使用 [\s\S\r]+? 而不是使用交替来匹配多行,从而提高效率。