我在转义'6+ months'
中的加号+符号时出现问题。我尝试了反斜杠,但它对它没有任何影响。
function degree_of_interest()
{
$program = $_REQUEST['degree_of_interest'];
$highest_level = $_REQUEST['college_1_degree'];
$start = $_REQUEST['start_date'];
if( !preg_match("/\A(1-2 months|3-4 months|6+ months)\Z/i",$start)
OR !preg_match("/\A(Bachelors)\Z/i",$highest_level)
OR !preg_match("/\A(JD \(Juris Doctor\))\Z/i",$program))
{
$this->errorsArray['degree_of_interest'][] = "For $program you must have a Bachelors degree";
}
}
答案 0 :(得分:0)
使用字符串时,除了正则表达式转义规则外,还必须遵守所有字符串转义规则。
这意味着您必须双重转义。你的正则表达式(作为一个字符串)应该是:
"/\\A(1-2 months|3-4 months|6\\+ months)\\Z/i"