我正在尝试阅读一些PHP代码,并想知道为什么preg_replace总是有斜杠。在正则表达式中,我用C ++编写,我不做同样的事情,并且想知道为什么
PHP:preg_replace('/blah/', '', $str)
但在C ++中,我只用字符串"blah"
制作正则表达式
我可以在这里澄清一下吗?什么是开始和结束斜杠?感谢
答案 0 :(得分:6)
它们只是正则表达式分隔符。来自PHP manual documentation on Delimiters:
分隔符可以是任何非字母数字,非反斜杠,非空格 字符。
经常使用的分隔符是正斜杠(
/
),哈希符号(#
)和 波浪(~
)。以下是有效分隔的所有示例 图案。
答案 1 :(得分:3)
它们是分隔符,允许您添加修饰符,例如/ blah / i用于不区分大小写的正则表达式。
在我知道的情况下,使用斜杠来自perl或shell / sed。
在php中,它们不是强制性的,因为你可以使用其他角色。例如,“!blah!i”也有效。还有一个带括号的特殊语法,因为你不需要转义它,所以它更不容易出错:“{blah} i”。