PHP 5.6.10-preg_match():编译失败:字符类中的范围在偏移100处无效[重复]

问题描述 投票:0回答:1

我正在遵循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版本中无效,不胜感激。

php regex zend-framework zend-framework2 preg-match
1个回答
1
投票
在类中-是一个范围运算符,您需要使用\对其进行转义>

[a-zA-Z0-9_\-\s]

© www.soinside.com 2019 - 2024. All rights reserved.