正規表現を使用して特定の単語を含まないものに一致させる方法
例: 「aabbcc」を含まない任意の文字列に一致
bbbaaaassdd // Match this
aabbaabbccaass // Reject this
否定先読みを使用できます。
(?!.*?aabbcc)^.*$
PHP コード:
$str = 'aabbaabbccaass'; //or whatever
if (preg_match('/(?!.*?aabbcc)^.*$/', $str))
echo "accepted\n";
else
echo "rejected\n";
これを試して:
if(preg_match('/aabbcc/', $string) == 0) {
[ OK ]
}
else {
[ NOT OK ]
}
これを使用して、 aabbccを含まない部分文字列を記述できます。
(?>[^a]++|a(?!abbcc))*
文字列全体に対して、アンカー ( ^
$
)を追加するだけです