2015-02-06 74 views
1

我需要用MIN-HEIGHT替換HEIGHT標籤,但是我正在努力避免替換開頭引號。C#正則表達式來替換樣式HEIGHT標籤

這是我的正則表達式:

[^-](height:) 

這是我的替換:

html = regex.Replace(html, "min-height:"); 

按照我的理解這應該與「高度」,但不是「最小高度:」但是當我做替換它也可以在高度之前立即替換字符:

這樣的風格=「HEIGHT:成爲風格= MIN-HEIGHT:

如何維護開引號的替換,也迎合HEIGHT:存在,比如說,一個樣式標籤的第三屬性,而不是bumpered對引號(例如風格= 「WIDTH:200像素;高度:400像素」

實施例的輸入將是:

風格= 「HEIGHT:500像素;」? 風格=「WIDTH:200像素;高度:500像素「 style =」WIDTH:200px; HEIGHT:500px「

預期輸出:

style =「MIN-HEIGHT:500px;」 style =「WIDTH:200px; MIN-HEIGHT:500像素 「 風格= 」WIDTH:200像素; MIN-HEIGHT:500像素「

電流輸出:

風格= MIN-HEIGHT 500像素;」 風格= 「WIDTH:200像素; MIN-HEIGHT 500像素」 風格= 「WIDTH:200pxMIN-HEIGHT 500像素」

Regex101 link here

+0

發佈一個示例以及預期輸出? 'height'是區分大小寫的字符串嗎? – 2015-02-06 10:30:03

回答

3
(?<!-)(height:) 

嘗試this.Use 0寬度斷言,而不是捕獲。見演示。該lookbehind將確保沒有-背後height被captured.Use i修改,如果heightcase-sensitive

https://regex101.com/r/vD5iH9/78

+0

這是完美的。謝謝 ! – bhs 2015-02-06 10:42:32

+0

@bhs很高興它工作:) – vks 2015-02-06 10:43:02