我在嘗試瞭解和了解更多關於RegExp的電話號碼,尤其是區號。大多數情況下,區域代碼是這樣的: (345)
或345
在此的正則表達式的代碼是:瞭解區號手機的RegExp
^(\()?\d{3}(\))?$
,但有什麼辦法,以確保如果(345
或345)
被鍵入,那麼它不返回匹配還是假?
我可以理解爲:
^ ... $
- 在開始和字符串()
結束 - 是第一個捕獲組\(
- 第一捕獲組中被發現,尋找「(」在字符串中?
- 我不確定這是什麼,但我認爲它標誌着第一個被捕獲組的結束?\d{3}
- 尋找數字(數字),但在3個位數(\))
序列 - 第二捕獲組和串
總之在尋找「)」,我要求的?
解釋和如果(345
或345)
經過測試,如何返回不匹配。
? - 表示前面的符號不是強制性的 – volkinc
'?'的意思是「零或前一個標記之一」。所以'(\()?'會匹配'「(」'或'「」'(空字符串)。 –
我明白了!非常感謝! –