我需要验证我的字符串变量,它必须包含以下选项之一: 等待,好的,拒绝,未付,过期。我如何在几个选项上编写正则表达式?
答案 0 :(得分:3)
if (preg_match('/^Waiting|Ok|Rejected|Unpaid|Expired$/', $str, $matches)) {
//..
}
但你不能使用正则表达式来满足这些要求,你可以检查它是否在数组中:
$valid_status = array('Waiting', 'Ok', 'Rejected', 'Unpaid', 'Expired');
if (in_array($str, $valid_status, true)) {
//..
}
答案 1 :(得分:0)
类似的东西:
$data = "Waiting text";
if(preg_match('[Waiting|Ok|Rejected|Unpaid|Expired]', $data)) { } else { }
答案 2 :(得分:0)
以下是正则表达式替换的文档: http://php.net/manual/en/regexp.reference.alternation.php