3

正規表現を使用して特定の単語を含まないものに一致させる方法

例: 「aabbcc」を含まない任意の文字列に一致

bbbaaaassdd // Match this
aabbaabbccaass // Reject this
4

5 に答える 5

2

否定先読みを使用できます。

(?!.*?aabbcc)^.*$

ライブデモ: http://www.rubular.com/r/4Exbf7UdDv

PHP コード:

$str = 'aabbaabbccaass'; //or whatever
if (preg_match('/(?!.*?aabbcc)^.*$/', $str))
   echo "accepted\n";
else
   echo "rejected\n";
于 2013-06-18T15:57:41.070 に答える
1

これを試して:

if(preg_match('/aabbcc/', $string) == 0) {
   [ OK ]
}
else {
   [ NOT OK ]
}
于 2013-06-18T15:56:02.977 に答える
1

これを使用して、 aabbccを含まない部分文字列を記述できます。

(?>[^a]++|a(?!abbcc))*

文字列全体に対して、アンカー ( ^ $)を追加するだけです

于 2013-06-18T15:59:11.927 に答える