在Eclipse中替换正则表达式的匹配查找和替换

时间:2015-04-01 15:46:13

标签: regex eclipse replace

所以我有大量需要更改的文件。像这样的东西

String example=/abc/def/PATTERN/ghi

我希望将PATTERN更改为其他内容,让我们说FIX

我想得到的是:

String example=/abc/def/FIX/ghi

我得到的是:

FIX(整行改变,只希望改变匹配)

这是我正在使用的正则表达式,试图避免使用注释行

^(?!\s*(//|\*)).*/PATTERN/

1 个答案:

答案 0 :(得分:0)

您可以将替换后需要保留的模式部分包装到捕获括号中,并在替换字符串中使用反向引用:

搜索^(?!\s*(?://|\*))(.*/)PATTERN/
替换$1FIX/

现在,模式匹配:

  • ^ - 行首
  • (?!\s*(?://|\*)) - 如果没有跟随0 +空格和//*(请注意,非捕获目标(?:...)用于简化反向引用)
  • (.*/) - 第1组捕获除了换行符号之外的任何0 +字符,直到最后/
  • PATTERN/ - 文字子串PATTERN/

在替换模式中,$1会将/之前的整行重新插入PATTERN/,而FIX/是文字替换部分。

enter image description here