我有一个相当长和复杂的 HTML 文档,我需要找到给定字符串的所有出现,例如“foobar”,除非它在<a>
和</a>
锚标记之间。
问题是:它可能在锚标签之间的一些文本中,例如
<a>this is a foobar test</a>
即使在这种情况下,我也不应该找到匹配项。
我怎么能用正则表达式做到这一点?我会很容易找到<a>foobar</a>
等等 - 但是找到每个“foobar” ,除非它位于锚标签之间并且被可能的很多其他文本包围,这似乎有点棘手......
有任何想法吗??
回答:
我们最终使用这个正则表达式来解决这个问题——以防万一有人a)好奇,或者b)在同一个地方:-)
(?<!\<A.*(?=\<\/A))Test(?!\<\/A.*(?=\<A))