如何在正则表达式中否定一组字符?例:[^](当你发现停止匹配)当我这样做时,当它在文本
中找到"a"时,代码停止。如何对一组字符求反
这是表达式:
$string = "<a href='asdasd'>lalalala</a>";
preg_match('/<a href=.*?>([^<'/a>]+)/',$string,$res);
你可以使用反向向前看:
.(?!</a>)
将匹配任何不跟在</a>
后面的字符。
</a>
的整个字符串:
^(.(?!</a>))*$
作为断言的更简单的替代方法,可以只匹配文本内容,在标记分隔符处停止:
preg_match('/<a href=.*?>([^<>]+)/', $string, $res);