根據格式轉換一個表里號碼的等級,格式定義如下(匹配的都為最后幾位):第一類 AAAAA(5連號) ABCDEF第二類 AAAA(4連號,不含4) ABCDE第三類 AAA(3連號,不含4) ABCD第四類 4444第五類 444 WWXXYY AAAAB第六類 AAAB AABB ABAB第七類 其他
號碼為固話,11位長,前面是區號,后7位是號碼,匹配的規則為后面幾位如AAAAA 可以為05311522222求助大佬告訴我正則應該怎么寫,感激不盡
4 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
第一類(后5位) AAAAA
"05311500000".matches("[0-9]{6}(0{5}|1{5})")
第六類(后4位) AAAB AABB ABAB
"05311531110".matches("[0-9]{7}(0{3}[^0]|1{3}[^1]|2{3}[^2])")
"05311531100".matches("[0-9]{7}(0{2}[^0]{2}|1{2}[^1]{2})")
"05311531010".matches("[0-9]{7}((0[^0]){2}|(1[^1]){2})")

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
我來舉兩個栗子,其他的你要自己寫,這里是解惑的不是問答案的,要自己舉一反三。
//5連號
Pattern.matches("\\d{4}.*?(\\d)\\1{4}.*?","05311522222")
//4連號,不含4
Pattern.matches("\\d{4}.*?([0-3,5-9])\\1{3}.*?","05311533332")

aluckdog
TA貢獻1847條經驗 獲得超7個贊
//第一類 AAAAA(5連號) ABCDEF
"^\\d{4}\\d{2}(\\d)\\1{4}$"
//第二類 AAAA(4連號,不含4) ABCDE
"^\\d{4}\\d{2}(\\d)(?!\\1)([0-35-9])\\2{3}$"
...
//第四類
"^\\d{4}\\d{2}\\d4{4}$"
添加回答
舉報
0/150
提交
取消