簡體   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