繁体   English   中英

你如何在PHP中注释掉正则表达式的* /部分

[英]How Do You Comment Out the */ Part of a Regular Expression in PHP

我有preg_replace函数,我正在调用并放在多行上以便于阅读,但正则表达式中的*/字符搞砸了注释。 如何在不将它们全部移到一条线上的情况下注释掉所有这些线?

return preg_replace('/.*/',
    'Lorem Ipsum' .
    'More Lorem Ipsum'
    ,
    $foo);

您可以使用不同的正则表达式模式分隔符:

return preg_replace('#.*#',
    'Lorem Ipsum' .
    'More Lorem Ipsum'
    ,
    $foo);

编辑:分隔符是PCRE(Perl Compatible Regular Expresssion)的一个特性。 使用不同的分隔符不需要PHP配置。

Regexp报价操作员

...您可以使用任何一对非字母数字,非空白字符作为分隔符。 这对于匹配包含“/”的路径名特别有用,以避免LTS(倾斜牙签综合征)。

引用和引用类似的运算符

非包围分隔符使用相同的字符前后,但四种ASCII括号(圆形,角形,方形,卷曲)全部嵌套

这些都是有效的:

'/.*/'
'#.*#'
'{.*}' /* Note that '{.*{' would be incorrect. */

看一下关于PCRE模式的PHP文档 ,看看非常好的概述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM