如何使用 RegExp 匹配任何不包含特定单词的事物
例如:匹配任何不包含 'aabbcc' 的字符串
bbbaaaassdd // Match this
aabbaabbccaass // Reject this
如果您只是在此字符序列之后,请不要使用正则表达式。使用strpos()
.
if (strpos('aabbaabbccaass', 'aabbcc') !== false) {
echo 'Reject this.'
}
注意:请务必阅读手册中有关strpos()
返回值的警告。
试试这个来避免一些字母序列:
^((?!aabbcc).)*$
您可以使用负前瞻:
(?!.*?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))*
对于整个字符串,只需添加锚点 ( ^
$
)