推 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