核心代碼:
script>
var s1 = 'acritan';
var s2 = 'bassarisk';
var s3 = 'commotive';
//找出不包含 "abba" 模式的單詞
var r = /^(?!.*?(.)(.)\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);
/**
輸出:
int 1
array (size=1)
0 => string 'bcgw' (length=4)
*/
解析:首先判斷字符串是否包含bc,然后判斷其后面不是ww,最后匹配gw。可以看出反向斷言之前后之后,能夠在添加其他匹配條件。
.*?
這個.*就是匹配非空字符任意長度,?就是非貪婪模式就是匹配最少的字符例如一個字符
您可能感興趣的文章:- js實現正則匹配中文標點符號的方法
- javascript中使用正則計算中文長度的例子
- JavaScript正則表達式驗證中文實例講解
- js中判斷數字\字母\中文的正則表達式 (實例)
- 中文用戶名的js檢驗正則
- javascript判斷中文的正則
- JS正則匹配URL網址的方法(可匹配www,http開頭的一切網址)
- javascript正則表達式模糊匹配IP地址功能示例
- js正則表達式最長匹配(貪婪匹配)和最短匹配(懶惰匹配)用法分析
- js正則表達式惰性匹配和貪婪匹配用法分析
- JS正則子匹配實例分析
- js匹配網址url的正則表達式集合
- JS正則匹配中文的方法示例