WebStorm(或其他IDE)中有没有办法进行基于正则表达式的状态替换?

Is there a way in WebStorm (or some other IDE) to do a regex-based stateful replace?

假设我需要替换以下所有字符串

"x1" "x2" "x3"

"x1 y1" "x2 y2" "x3 y3"

我会使用通配符搜索(例如 x*),但如何重新使用通配符匹配的文本替换? (我对 IDES/editors 没有特别的偏好,只要它们是跨平台的即可)

即我不想手动替换 x1 -> x1 y1、x2 -> x2 y2 等,我只想 一次 .

执行此操作

我知道正则表达式 you can 使用 backref 来重用捕获块,但我不知道如何在编辑器中使用它。

Webstorm 不会改变您使用正则表达式的方式或正则表达式的工作方式。唯一改变的是 GUI。

  • ctrl+r激活活动文件中的替换工具。或者 shift+ctrl+r 激活整个目录的替换工具。 (如果您更改了按键映射,这些快捷键可能会有所不同
  • 确保在使用替换时检查了 "regex" 标志。
  • 确保您的查找值中包含捕获组。
  • 在替换值中使用正则表达式占位符。