js Abba逆向前瞻正则匹配实例
核心代码:
<script> vars1='acritan'; vars2='bassarisk'; vars3='commotive'; //找出不包含"abba"模式的单词 varr=/^(?!.*?(.)(.)\2\1)/i; alert(r.test(s1));//true alert(r.test(s2));//false alert(r.test(s3));//false </script>
零宽断言(?!exp)
反先行断言
什么是反先行断言,使用(?!exp)匹配后面跟的不是exp。
php实例:
主要是想通过实例给大家说下这个正则的作用
$str="abcgwcab"; $parent='/bc(?!ww)gw/'; $str=preg_match($parent,$str,$match); var_dump($str); var_dump($match); /** 输出: int1 array(size=1) 0=>string'bcgw'(length=4) */
解析:首先判断字符串是否包含bc,然后判断其后面不是ww,最后匹配gw。可以看出反向断言之前后之后,能够在添加其他匹配条件。
.*?
这个.*就是匹配非空字符任意长度,?就是非贪婪模式就是匹配最少的字符例如一个字符