这个真的让我头疼...
var matches = Regex.Matches("<p>test something<script language=\"javascript\">alert('hello');</script> and here's <b>bold</b> and <i>italic</i> and <a href=\"http://popw.com/\">link</a>.</p>", "</?(?!p|a|b|i)\b[^>]*>");
Regex 应该捕获任何不是 p、a、b 或 i 的 HTML 标记(打开或关闭)。我已将输入字符串和正则表达式插入无数测试页面,并且每一个都返回匹配的脚本标记(打开和关闭)。但它在代码中绝对不起作用。 matches 变量的计数为 0。
我是否漏掉了一些非常明显的东西?
最佳答案
您忘记对模式字符串中的反斜杠进行转义。
"</?(?!p|a|b|i)\\b[^>]*>"
关于c# - .NET Regex 无法在代码中匹配,适用于每个测试工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822737/