課程
/后端開發
/PHP
/PHP進階篇
$p = '/\d+-\d+/';
這樣的話也匹配成功了 答案寫的是\- 為什么這個“-” 也要轉義呢
2019-01-26
源自:PHP進階篇 3-3
正在回答
如果短橫線-是在方括號[]內,則需要使用反斜杠\轉義,因為短橫線-在方括號[]內有特殊含義,代表了字符的范圍,如[0-9],0-9之間的所有數字。反之,如果短橫線-在方括號[]外,因為-在方括號外不具有特殊含義,不需要進行轉義。但是你發現,即使你在方括號外對不需要轉義的字符,如這里的-使用了轉義符\寫成\-也是可以的,這樣可以提高代碼的可讀性,編譯器應該在編譯的時候會發現不需要它實際上不需要轉義而對其忽略。
順便說一下,如果你想使用字符\的話,需要對其進行轉義寫成\\,這樣匹配出來的才是\字符,在方括號內外\都具有轉義作用。
因為 '-'符號可以代表 標記字符范圍 如 [a-b]
舉報
輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序
3 回答轉義是什么意思?為什么要轉義
1 回答關于類的構造函數定義為私有。
2 回答元字符與轉義一節中的\-問題
2 回答進行轉義到底是什么意思呢?
1 回答關于gmdate
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-05-14
如果短橫線-是在方括號[]內,則需要使用反斜杠\轉義,因為短橫線-在方括號[]內有特殊含義,代表了字符的范圍,如[0-9],0-9之間的所有數字。反之,如果短橫線-在方括號[]外,因為-在方括號外不具有特殊含義,不需要進行轉義。但是你發現,即使你在方括號外對不需要轉義的字符,如這里的-使用了轉義符\寫成\-也是可以的,這樣可以提高代碼的可讀性,編譯器應該在編譯的時候會發現不需要它實際上不需要轉義而對其忽略。
順便說一下,如果你想使用字符\的話,需要對其進行轉義寫成\\,這樣匹配出來的才是\字符,在方括號內外\都具有轉義作用。
2019-02-08
因為 '-'符號可以代表 標記字符范圍 如 [a-b]