我在构建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。)
感谢。
答案 0 :(得分:0)
我猜你正在将HTML标签与正则表达式匹配:
/<[^>]*>/
你可以在那里添加一个负面的前瞻断言来断言在标签中找不到“兔子”:
/<(?![^>]*rabbit)[^>]*>/