我想寫爲MySQL一個RegExp只會返回以下3種手機格式相匹配的電話號碼格式:問題與正則表達式查詢
+1 000-000-0000 X0000
+1 000-000-0000
000-000-0000 X0000
000-000-0000
所以基本上:
+ [任意位數] [空格] [任意三位數字] - [任意三位數字] - [任意四位數字] [空格] [x] [任意位數]
國家代碼和擴展名是可選的。我對這些都很陌生,但我認爲這應該至少返回一個數字,包括國家代碼和擴展選項,但是當我執行它時,我會得到0個結果。
\x2B[0-9]*\x20[0-9]{3}\-[0-9]{3}\-[0-9]{4}\x20x[0-9]+|
\x2B[0-9]*\x20[0-9]{3}\-[0-9]{3}\-[0-9]{4}|
[0-9]{3}\-[0-9]{3}\-[0-9]{4}
誰能告訴我爲什麼我得到0的結果,即使我有喜歡在我的分貝+1 555-555-5555 x5555記錄。還有什麼語法使國家代碼和擴展名是可選
請注意我正在使用[0-9],因爲我正在查詢文本字段和\ d似乎沒有返回任何東西,即使當我的標準是一些簡單的像\ d *
爲什麼你使用'\ x2B',而不是僅僅逃離'+':'\ +'?有特別的原因嗎?爲什麼你要逃離這些空間(即'\ x20'而不是'') –
基本上,因爲我不知道你可以這樣做:) – user3167249