gpt4 book ai didi

c# - 如何修复从删除条件注释中删除 HTML 注释的正则表达式?

转载 作者:行者123 更新时间:2023-11-30 16:24:15 24 4
gpt4 key购买 nike

我有以下代码:

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

...它工作正常,除了它还去除了条件注释:

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

有人可以告诉我如何更新正则表达式以使其不删除条件注释吗?

最佳答案

您可以使用 negative lookaheads and negative look behinds :

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

应该只匹配 <!--后面没有 [ 和任何 -->前面没有 ],当然还有 .*?匹配中间的文本。

使用 Derek Slager's 测试非常有用和快速的 RegEx 测试器:

源文本:

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

图案:

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

结果:

找到 1 个匹配项:

1. <!--Comment-->

关于c# - 如何修复从删除条件注释中删除 HTML 注释的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10957019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com