正则表达式:字符串不在模式中

时间:2011-03-20 02:18:06

标签: regex

我在构建reg exp时遇到问题。我想我应该使用lookahead / behind但我只是不做。

我想创建一个 reg-exp来捕获所有不包含字符串的HTML标记('rabbit')。

例如,应匹配以下标记

  

< a XXX> < span yyy> < / div x zz> < / li qwerty = ab cd> < div hello = stackoverflow>

但不是以下

  

< a XXrabbitX> < span yyyrabbit> < / div xrabbitzz> < / li rabbit = abcd hippo = 9876> < div hello = rabbit>

(我的下一步是进行替换,以便兔子这个词进入标签,但希望这很容易。)

(我使用PHP5-preg_replace。)

感谢。

1 个答案:

答案 0 :(得分:0)

我猜你正在将HTML标签与正则表达式匹配:

/<[^>]*>/

你可以在那里添加一个负面的前瞻断言来断言在标签中找不到“兔子”:

/<(?![^>]*rabbit)[^>]*>/