![](/img/trans.png)
[英]Regex formula for all text including inside HTML tags, but not in 'a' tags
[英]Regex formula not looking inside HTML tags
我的正則表達式模式適用於HTML標記中未包含的所有文本:
((?<!-)\btest(?!-)\b)(?=[^<>]*(?:<\w|$))
在下面的示例中,我需要它在這兩個字符串中找到“ test”的兩個實例:
vdsv ds test dsv sdlvk
<b>dsjn vkjsd test sv</b>
在.NET中,您可以在后面使用無限寬度:
\b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>)
請參閱.NET正則表達式演示
在代碼中:
var pattern = @"\b(?<!-)test\b(?<!<[^<>]*)(?!-|[^<>]*>)";
細節
\\b
單詞邊界 (?<!-)
-如果在當前位置的左側緊跟着-
則負向后搜索將使匹配失敗 test
-單詞test
\\b
單詞邊界 (?<!<[^<>]*)
-如果在當前位置的左邊有一個<
以及除<
和>
以外的0個或多個字符,匹配失敗將失敗。 (?!-|[^<>]*>)
-失敗的匹配,如果有一個負先行-
或比其他任何0+字符<
和>
遵循的>
立即到當前位置的右側。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.