0

我正在尝试阅读一些 php 代码,并想知道为什么 preg_replace 总是有斜线。在我用 C++ 编写的正则表达式中,我没有做同样的事情,我想知道为什么

PHP:preg_replace('/blah/', '', $str)但在 C++ 中,我会用字符串制作一个正则表达式"blah"

我可以在这里澄清一下吗?开始和结束斜线有什么用?谢谢

4

2 回答 2

6

它们只是正则表达式分隔符。来自Delimiters 的 PHP 手册文档

定界符可以是任何非字母数字、非反斜杠、非空白字符。

常用的分隔符是正斜杠 ( /)、井号 ( #) 和波浪号 ( ~)。以下是有效分隔模式的所有示例。

于 2013-05-03T21:36:59.790 回答
3

它们是分隔符,允许您添加修饰符,例如 /blah/i 用于不区分大小写的正则表达式。

据我所知,斜杠的使用来自 perl 或 shell/sed。

在 php 中,它们不是强制性的,因为您可以使用其他字符。例如,“!blah!i”也可以。还有一种带括号的特殊语法,因为您不需要转义它,所以更不容易出错:“{blah}i”。

于 2013-05-03T21:35:27.440 回答