2011-09-01 113 views
1

我試圖用SpringSource Tool Suite(Eclipse)查找和替換一些標籤。我想將<annotation-driven />更改爲<mvc:annotation-driven />,但我不想<beans:bean ..><mvc:beans:bean ...>Eclipse查找和替換正則表達式不工作與「(?=正則表達式)」?

所以我做了正則表達式這樣的(實際上是正則表達式是比這更長,但我把它簡單):

查找:<(?=[^b])

替換爲:<mvc:

我加(?=regex)表達式以避免選擇第一個字符。它找到了成功,但沒有取代任何東西。如果我刪除(?=regex)表達式,它可以正常工作,但第一個字符被刪除。

這是一個錯誤?或者我做錯了什麼?

+1

我認爲這是一個錯誤。我試過了,它對我也不起作用。與彈簧工具無關 - 這是一個普通的日食問題。 – Bohemian

回答

1

我會用(?!b),但(?=[^b])也應該工作。不管怎樣,試試這個:

查找:<([^b])

替換:<mvc:$1

$1應該插入第一個捕獲組,即內容,這封信不是b

如果它不適用於$1,請改爲嘗試<mvc:\1

+0

哇,太棒了!你的正則表達式技巧克服了這個錯誤。 '$ 1'工作。謝謝! –