";使用模式“0”时出现内部错误;同时将电子邮件验证regex传递给Zend_Validate_regex


"Internal error while using the pattern" while passing email validation regex to Zend_Validate_Regex

我正在Zend Forms中构建一个表单,在尝试添加电子邮件验证正则表达式时出现以下错误:

使用图案时出现内部错误

代码为:

$email->setLabel('Email:')
      ->setRequired()
      ->addValidator(new Zend_Validate_Regex('/^(("['w-'s]+")|(['w-]+(?:'.['w-]+)*)|("['w-'s]+")(['w-]+(?:'.['w-]+)*))(@((?:['w-]+'.)*'w['w-]{0,66})'.([a-z]{2,6}(?:'.[a-z]{2})?)$)|(@'[?((25[0-5]'.|2[0-4][0-9]'.|1[0-9]{2}'.|[0-9]{1,2}'.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})'.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})']?$/i'))
      ->addValidator(new Zend_Validate_StringLength(array(3, 255)))
      ->addFilter(new Zend_Filter_StripTags())
      ->addFilter(new Zend_Filter_StringTrim());

这个正则表达式应该验证正确的电子邮件地址,它在其他地方也能工作(例如在JS中)。

我尝试删除i选项并用''替换',但两者都不起作用。有什么想法吗?

缺少右括号(可能在最后的?之后)