zend框架正则表达式问题:使用模式时出现内部错误


zend framework regex problem: "Internal error while using the pattern"

我已经在多个测试器上测试了我的正则表达式,我也尝试了多个正则表达式,但我一直得到错误:"内部错误,而使用模式'/^(04'd{2}/('d{2})'d{2} 'd{2})$/'"。我知道这可能不是最好的正则表达式,但我找不到一个好的,我也不是这方面的专家,我必须继续前进。它应该匹配的电话号码是04dd/dd dd dd,其中d是0到9之间的数字。这是我在创建表单时使用的代码。

$phone = $this->addElement('text', 'phone', array(
        'filters'    => array('StringTrim'),
        'validators' => array(
            array('regex', false, array('/^(04'd{2}/('d{2} )'d{2} 'd{2})$/'))
        ),
        'required'   => true,
        'label'      => 'Phone:',
    ));

我该如何解决这个问题?谢谢了。

必须转义斜杠:

array('regex', false, array('/^(04'd{2}'/('d{2} )'d{2} 'd{2})$/'))