繁体   English   中英

是否真的需要以正则表达式模式逃避反斜杠?

[英]Is it really required to escape backslashes in regex patterns?

这可能是一个愚蠢的问题,但我无法理解为什么以下代码按预期工作

$text = "ab    cd";
$text = preg_replace("/\s+/", "", $text);
echo $text;

并输出abcd

不应该转义\\s的反斜杠来获得正则表达式中的字面含义吗?

不一定,因为字符串文字规则说如果\\后跟除了另一个\\之后的任何内容,或者'它被视为任何其他字符。 这个一般规则也会影响双引号字符串,尽管在这种情况下 ,只有这两个字符串有更多可识别的转义序列。

如果你愿意,你可以逃避它,但我个人认为世界已经有足够的反斜杠了。

暂无
暂无

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

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