我正在使用.NET正则表达式来删除HTML代码.
使用类似的东西:
(? [\w\W]+?) [\w\W]+?(?[\w\W]+?)
这种方法在99%的情况下有效,但有时在解析时...
Regex.IsMatch(HTML, Pattern)
解析器只是阻塞,它将继续在这行代码上持续几分钟或无限期.
这是怎么回事?
当您的HTML字符串实际包含适合该模式的HTML时,您的正则表达式将正常工作.但是当你的HTML不符合模式时,例如,如果最后一个标签丢失,你的正则表达式将展示我称之为" 灾难性的回溯 ".单击该链接并向下滚动到"快速匹配完整的HTML文件"部分.它完全描述了您的问题.[\ W\W] +?是一种复杂的说法.+?使用RegexOptions.SingleLine.