看板 RegExp 關於我們 聯絡資訊
我有多組數字組成的字串,每個字串長度為 8 我希望抓出其中有4個連續數字的字串 ex. 12345678 => pass 12312312 => not pass 11156781 => pass 這個有可能用正規表示式寫出來嗎? 我目前想到的方法是 / ((0123|1234|2345|3456|4567|5678|6789)\d{4}) | (\d(0123|1234|2345|3456|4567|5678|6789)\d{3}) | (\d{2}(0123|1234|2345|3456|4567|5678|6789)\d{2}) | (\d{3}(0123|1234|2345|3456|4567|5678|6789)\d) | (\d{4}(0123|1234|2345|3456|4567|5678|6789)) / 但是這樣感覺好笨...orz 另外一種方法是 \d{0,4}(0123|1234|2345|3456|4567|5678|6789)+\d{0,4} 看起來聰明一點,但是缺點是 4567 跟 999934569999 也會過 雖然理論上資料長度都是 8 啦... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.212 ※ 編輯: eaden 來自: 122.116.190.212 (06/13 15:17) 找到一個方法解決長度問題 ^(?=.{8,8}$)(\d*(0123|1234|2345|3456|4567|5678|6789)+\d*)+$ ※ 編輯: eaden 來自: 122.116.190.212 (06/13 16:04)