我正在遵循ZendFrame工作路由中配置的正则表达式
'constraints' => array(
'controller' => '[a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'dashname' => '[a-zA-Z0-9_-\s]*',
'formatter' => '[a-zA-Z]*'
)
投掷错误警告:preg_match():编译失败:字符类的无效范围在app \ vendor \ zendframework \ zendframework \ library \ Zend \ Mvc \ Router \ Http \ Segment.php中的偏移量100处[370
问题似乎与'dashname'=>'[a-zA-Z0-9 _- \ s] *',相同的代码在PHP 5.4版本中有效,但在PHP5.6版本中无效,不胜感激。
-
是一个范围运算符,您需要使用\
对其进行转义>[a-zA-Z0-9_\-\s]