xiaohua19881015 2018-09-29 10:26 采纳率: 0%
浏览 345

有关php正则表达式的一个疑问

是有关正则表达式中的模式修饰符 /x 的使用的问题
文档中是这样写的:
如果设置了这个修饰符,模式中的没有经过转义的或不在字符类中的空白数据字符总会被忽略, 并且位于一个未转义的字符类外部的#字符和下一个换行符之间的字符也被忽略。 这个修饰符 等同于 perl 中的 /x 修饰符,使被编译模式中可以包含注释。 注意:这仅用于数据字符。 空白字符 还是不能在模式的特殊字符序列中出现,比如序列 (?( 引入了一个条件子组(译注: 这种语法定义的 特殊字符序列中如果出现空白字符会导致编译错误。 比如(?(就会导致错误)。
不是太能明白讲的意思,而且也没有例子说明,谁能看下这个啊?最好能给个用例
谢谢啊~

  • 写回答

1条回答

  • piaolankeke 2018-10-08 09:59
    关注
     $str = "ab cdeft";
    $matches0 = $matches1 = array();
    preg_match('/ab c/x', $str, $matches0);
    preg_match('/ab c/', $str, $matches1);
    print_r($matches0);
    print_r($matches1);
    
    

    结果为:Array ( ) Array ( [0] => ab c )

    $matches0 为空,因为模式中的空格被忽略, 匹配不到结果

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料