3

私は次のコードを持っています:

source = Regex.Replace(source, "<!--.*?-->", string.Empty, RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);

...そして、条件付きコメントも削除することを除いて、正常に動作します。

<!--[if IE]>???<![endif]-->

条件付きコメントが削除されないように正規表現を更新する方法を教えてもらえますか?

4

1 に答える 1

3

ネガティブルックアヘッドとネガティブルックビハインドを使用できます:

<!--(?!\[).*?(?!<\])-->

<!--[および]が前に付いていないものと一致する必要-->があります。もちろん、。*?間のテキストに一致します。

DerekSlagerの非常に便利で迅速なRegExテスターを使用してテストしました。

ソーステキスト:

<!--[if IE]>???<![endif]--> 
<!--Comment--> 

パターン:

<!--(?!\[).*?(?!<\])-->

結果:

1つの一致が見つかりました:

1. <!--Comment-->
于 2012-06-08T23:25:10.510 に答える