【问题标题】:PHP 5.6.10 - preg_match(): Compilation failed: invalid range in character class at offset 100 [duplicate]PHP 5.6.10 - preg_match():编译失败:偏移量 100 处的字符类中的无效范围 [重复]
【发布时间】:2020-01-28 02:35:48
【问题描述】:

我在 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 处的字符类中的范围无效/b> 第 370 行

问题似乎出在 'dashname' => '[a-zA-Z0-9_-\s]*',

相同的代码适用于 PHP 5.4 版本,但不适用于 PHP5.6 版本,感谢任何帮助。

【问题讨论】:

    标签: php regex zend-framework zend-framework2 preg-match


    【解决方案1】:

    - 类中是一个范围运算符,您需要使用\ 对其进行转义

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

    【讨论】:

    • 感谢您帮助解决问题
    猜你喜欢
    • 2014-11-30
    • 2020-02-18
    • 1970-01-01
    • 2014-11-24
    • 2020-03-20
    • 2019-09-19
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多