我有這樣的字符串,例如:匹配和替換的話
one two three four START four five four five six END seven
我想搜索其中的單詞「四」與替換,以替換它,這會給
one two three four START REPLACED five REPLACED five six END seven
我知道START(.*)END
會給出之間的單詞和分隔符。 我試過START(?<four>)END
,但它什麼也沒給。
我正在使用Vbscript。
非常感謝gregmac,它在應用程序Expresso(測試正則表達式)中效果很好,但是當我在代碼中使用它時,我在正則表達式中出現語法錯誤。如果我從頭開始刪除「<」,它會消除錯誤但會擾亂正則表達式。你有什麼想法,爲什麼它給這個錯誤? – TheBlainer
對不起,顯然vbscript不支持lookbehind斷言。在這種情況下,真的沒有辦法用一個正則表達式來做到這一點,你必須在START和END之間進行子匹配,然後在那裏進行常規替換。你用vbscript卡住了嗎? FWIW,vbscript是[dead](http://en.wikipedia.org/wiki/Vbscript#History),甚至[.NET 1.1支持lookbehind斷言](http://msdn.microsoft.com/en-us/library /bs2twtah(v=vs.71).aspx)。 – gregmac
對於這個項目,我不能切換到c#.Net,因爲更新的版本是用.Net創建的。我必須爲仍在使用它的客戶端維護舊版本。 但我看到,我可以設法做到這一點在JavaScript(我忘了說,這是網絡)。我只需要找到相應的東西。 – TheBlainer