看板 RegExp 關於我們 聯絡資訊
請問高手 我若限定一定要10個數字 可以用正規處理嗎 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.98.174 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1401298445.A.D42.html
LPH66:[0-9]{10} 不過印象中有些 regexp 不支援 {} 05/29 01:36
LPH66:唔, 應該要加個邊界: [^0-9][0-9]{10}[^0-9] 05/29 01:37
LPH66:如果你是要整個字串就只有 10 個數字那可以加 ^...$ 05/29 01:38
LPH66:就變成 ^[0-9]{10}$ 這個樣子 05/29 01:38
arnold0613:我是用php寫 認證手機 09開頭但是若輸入11個數字也是 05/29 01:45
arnold0613:正確 我想用正規一次處理 05/29 01:45
danny8376:那就是樓上最後一個啦~ 05/29 04:38
arnold0613:因為是檢驗10碼的手機號碼^09[0-9]{8}$剛測一下好像可 05/29 08:49
filiaslayers:我想問一下,如果是要找出字串中的10位數字要怎麼找? 05/29 12:29
filiaslayers:就是10個數字的左右可以是任意字,但就不能是數字 05/29 12:29
KawasumiMai:[^0-9]([0-9]{10})[^0-9] ? 05/29 13:30
KawasumiMai:[^0-9]([0-9]{10})[^0-9] 這樣?(發現問號可能會誤解 05/29 13:30
filiaslayers:資質不好,看不太懂樓上的語法@@把^寫在[裡的用意是? 05/29 15:51
KawasumiMai:印象中這是exception?也就是除了0-9以外的字 05/29 15:56
filiaslayers:原來^有兩種意思,感謝!! 05/29 16:18
LPH66:是的, 不過我後來想到這只能找到真的在中間的 10 位數 05/29 16:19
LPH66:有些 regexp 有 lookbehind/lookahead 這樣可以把邊界情形 05/29 16:19
LPH66:抓住; 如果沒有的話我記得好像也有方法做... 05/29 16:21
s25g5d4:php 有 (?=pattern) 跟 (?<=pattern) 05/29 16:59
KawasumiMai:對齁...這個好像只能找中間的 05/29 17:10
KawasumiMai:後來有想到用^$搭配|去辨別頭尾,但好像又會卡字 05/29 17:10
KawasumiMai:^|[^0-9]([0-9]{10})[^0-9]|$ 這樣邏輯順序不對 05/29 17:11
KawasumiMai:(^|[^0-9])([0-9]{10})([^0-9]|$) 這樣好像會卡字 05/29 17:12
mars90226:最好搭配(?:) non-capture group,而且|的效能會比較差 05/29 17:15
mars90226:能用look ahead/look behind最好 05/29 17:15