2015-04-01 102 views
1

所以我有大量需要更改的文件。事情是這樣的替換Eclipse中正則表達式的匹配查找並替換

String example=/abc/def/PATTERN/ghi 

,我想改變這種格局別的東西,比方說FIX

我想獲得的是:

String example=/abc/def/FIX/ghi 

什麼我得到的是:

FIX(整條生產線得到改變,只希望比賽被改變)

釷是正則表達式我使用,儘量避免註釋行

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

我想我可能誤解了你要的...我會重新讀取和重新嘗試回答。我刪除了我的初始答案。 – Sildoreth 2015-04-01 17:33:13

+0

請您澄清一下嗎?你是說你想替換第三個'/'分隔的字符串?或者你是否想要替換任何匹配PATTERN的'/'分隔符? – Sildoreth 2015-04-01 17:37:23

+0

我想替換每個/ PATTERN /我看到,替換/和模式字 – user1412716 2015-04-01 17:39:25

回答

0

,你可以換你需要更換後繼續爲捕獲括號,並在替換字符串中使用反向引用它的模式的一部分:

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

現在,模式匹配:

  • ^ - 線的開始
  • (?!\s*(?://|\*)) - 如果不遵循與0+空格和//*(請注意,非捕獲GROP (?:...)用來簡化反向引用使用)
  • (.*/) - 第1組捕獲比換行符符號直到最後/
  • PATTERN/其他任何0+字符 - 文字串PATTERN/

在替換模式,$1重新插入從其開始到/PATTERN/之前整行,及FIX/是字面更換零件。

enter image description here