js Abbbは前向きの正則マッチング例に逆方向である.
905 ワード
コアコード:
前言をひるがえす
何が先決かは逆ですが、(
phpの例:
主に実例を通して皆さんにこの正則の役割を説明したいです.
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
零幅断言(?!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に一致する.逆断言の前後に、他の整合条件を加えることができます..*?
これは*が非空の文字にマッチする任意の長さです.つまり、欲張りではないということは、最少の文字にマッチするということです.例えば、1文字です.