正则表达式匹配不在html attrs或链接文本中的单词实例

时间:2010-07-06 10:22:55

标签: regex

我希望获得一个未链接的关键字,如下例所示,我只是匹配不在< a>< / a>之间的google关键字。也不包含在属性中,我只想匹配最后一次谷歌

< a href =“http://www.google.com”title =“google”> google< / a>链接,谷歌没有链接。

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

如果您可以确定您的HTML表现良好(且有效),尤其是不包含评论或嵌套a标记,则可以尝试

google(?!((?!<a[\s>]).)*</a>)

匹配在下一个开放a标记之前未跟随结束a标记的任何“google”。但您可能更喜欢使用HTML Parser。

答案 2 :(得分:0)

这对我有用(javascript):

var matches = str.match(/(?:<a[^>]*>[^<]*<\/a>[\s\S]*)*(google)/);

See it in action