这可能是一个愚蠢的问题,但我很难理解为什么下面的代码能像预期的一样工作
$text = "ab cd";
$text = preg_replace("/'s+/", "", $text);
echo $text;
并输出CCD_ 1。
's
中的反斜杠不应该进行转义以在正则表达式中获得其字面意义吗?
不一定,因为字符串文字规则规定,如果'
后面跟着除'
或'
之外的任何字符,则将其视为任何其他字符。这个一般规则也会影响双引号字符串,尽管在这种情况下,识别的转义序列比这两个要多。
如果你想的话,你可以转义它,但就我个人而言,我认为世界上已经有足够多的反斜杠了。