.net 正则表达式不查看HTML标记内部

.net 正则表达式不查看HTML标记内部,.net,regex,.net,Regex,适用于HTML标记中未包含的所有文本: ((?<!-)\btest(?!-)\b)(?=[^<>]*(?:<\w|$)) ((?]*(?:在.NET中,您可以利用无限宽度的查找: \b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>) \b(?]*)(?!-|[^]*>) 见 代码: var pattern = @"\b(?<!-)test\b(?<!<[^<>]*

适用于HTML标记中未包含的所有文本:

((?<!-)\btest(?!-)\b)(?=[^<>]*(?:<\w|$))

((?]*(?:在.NET中,您可以利用无限宽度的查找:

\b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>)
\b(?]*)(?!-|[^]*>)

代码:

var pattern = @"\b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>)";
var模式=@“\b(?)*(?!-|[^]*>)”;
详细信息

  • \b
    -单词边界
  • (?-如果当前位置左侧有一个
    -
    ,则会导致匹配失败的反向查找
  • test
    -word
    test
  • \b
    -单词边界
  • (?]*)
    -如果当前位置/li左侧有
    -如果存在
    -
    或除
    之外的任何0+字符,且紧跟在当前位置右侧的
    ,则会导致匹配失败的负前瞻

谢谢,为了在.Net中工作,我必须添加句点,如:(.*SKIP)(.*F)|\b(?我发布了正确的.Net正则表达式解决方案。
var pattern = @"\b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>)";