正则表达式 字符串取反

可以使用 断言 实现

正则表达式的先行断言和后行断言一共有4种形式:
(?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion)
(?!pattern) 零宽负向先行断言(zero-width negative lookahead assertion)
(?<=pattern) 零宽正向后行断言(zero-width positive lookbehind assertion)
(?<!pattern) 零宽负向后行断言(zero-width negative lookbehind assertion)
这里面的pattern是一个正则表达式。

 

$pattern = "/<p>((.(?!<p>))*)<\/p>/";

$str = "<p>ggfgfhhghgh&nbsp;</p><p>ggfgfhhghgh&nbsp;</p>";

$res = preg_match_all($pattern, $str, $matches);

 

posted @ 2017-07-10 14:07  isykw  阅读(4458)  评论(0编辑  收藏  举报