[英]Better way to write this Regex? Negative Lookahead
我想我大部分時間都在工作,但是想知道是否有更好的方法可以編寫它:
/\b(Word)(?!.*?<\/a>)(?!.*?>)\b/
我試圖匹配未鏈接的Word,並且它不是HTML標記的一部分(例如<a href="" title="Word">
不匹配)。
據我了解,如果可能的話,最好使用否定的字符類,而不是使其變得懶惰。 我嘗試這樣做,但無法弄清楚。 我什至不知道這樣做是否可行,但我想我會把它扔在那里。
您要查找的否定字符類是[^<>]*
。 這將跳過任何標簽邊界。
/\b(Word) (?! [^<>]*<\/a> | [^<]*>) \b/x
注意,如果鏈接中包含更多標記,尋找</a>
將允許正則表達式匹配。 例如,不會跳過加粗的<a>..<b>Word</b>..</a>
單詞。 (檢查這些事情需要比前瞻更多的工作。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.