如何检查字符串是否包含带有正则表达式的“bird”或“cat”?

时间:2011-04-17 16:56:42

标签: php regex expression

请不要告诉我使用布尔值!进行检查。因为我想使用jquery插件在我的函数中做一些事情。我想修复它只有正则表达式部分......这可能吗?

3 个答案:

答案 0 :(得分:6)

更好,IMO:

preg_match('/^(?!.*(cat|bird).*$)(......)/xs', $string);

答案 1 :(得分:2)

您可以使用此断言/否定断言构造来检查整个字符串是否包含birdcat

preg_match('/(?=^((?!cat|bird).)+$)  (......)/xs', $string);

我认为它不是特别有效。但至少这个断言是独立于实际的匹配正则表达式 - 例如(......)

答案 2 :(得分:2)

我相信这更简单,更容易混淆;

$string = ", user, test, me";
if (!preg_match("#(.*?)(cat|bird)(.*?)#", $string)) {
    echo "yes, there is no cat or bird";    
}
else{
    echo "there is cat or bird";
}

我建议你在这里查看http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html