[問題] 連續數字
看板RegExp (正規表示式 Regular Expression)作者eaden (evenrain)時間12年前 (2013/06/13 15:10)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/1
我有多組數字組成的字串,每個字串長度為 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)
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章