我有2個字符串如下:狀態開始內過濾和終點
test1 = "<div>/*abc*/</div>";
test2 = "<div>/*abc*/Contents/*efg*/</div>";
我需要消除如果div
只包含/*...*/
所有/*...*/
,div
將刪除。 下面是正則表達式我所做的:
Regex rx1 = new Regex(@"<div>/\*[^>]+\*/(</div>|<br/></div>|<br></div>)");
TemplateEditorFormatted = rx1.Replace(TemplateEditorFormatted, match => { return String.Empty; });
字符串test1
,它返回正確的結果,其全部刪除。
但是對於test2
,它也會刪除所有內容。估計結果不應該刪除任何東西。
修訂(對於學習)
測試2,如果我想要消除/ ... /而不是整個股利。正則表達式是怎樣的?
任何人都可以幫忙嗎?由於
您不應在HTML上使用正則表達式。正則表達式僅適用於常規語言,HTML是上下文無關語言。它可能適用於非常小的特定示例,但不應使用它,因爲它在一般實踐中不起作用。 –
[問這個人關於在HTML上使用正則表達式](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) –