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

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

1个回答

 $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 为空,因为模式中的空格被忽略, 匹配不到结果

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐