Java手机号正则表达式匹配规则参考例子(只匹配后八位的内容)

手机号正则表达式匹配规则参考(只匹配后八位的内容)

正则这个东西不经常写或者没有参考写法写着就很恶心
这是常用的电话号码后八位匹配规则,有需要的参考着写。


```java
    private static  Map<String, String> numberRegularDict = new HashMap<>();
    static {
        //6 正则表达式  (?!\1) 负向预测断言 第一个文本数字不会出现
        numberRegularDict.put("*AAAAAA", "(((1){6})$|((2){6})$|((3){6})$|((5){6})$|((6){6})$|((7){6})$|((8){6})$|((9){6})$|((0){6})$)"); // 后六位为相同的数字
        numberRegularDict.put("*66666", "(6){5}$");
        numberRegularDict.put("*88888", "(8){5}$");
        numberRegularDict.put("*99999", "(9){5}$");
        numberRegularDict.put("*XXXXYYYY", "(\\d)\\1\\1\\1(?!\\1)(\\d)\\2\\2\\2$"); // 可用
        numberRegularDict.put("*WXYZWXYZ", "(\\d)(?!\\1)(\\d)(?!\\1|\\2)(\\d)(?!\\1|\\2|\\3)(\\d)\\1\\2\\3\\4$"); //可用了
        numberRegularDict.put("*ABCDEFGH", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){7}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){7})\\d$");// 后八位为递增或者递减数字

        // 5
        numberRegularDict.put("*AAAAA", "(((1){5})$|((2){5})$|((3){5})$|((5){5})$|((7){5})$|((0){5})$)");
        numberRegularDict.put("*6666", "(6){4}$");
        numberRegularDict.put("*8888", "(8){4}$");
        numberRegularDict.put("*9999", "(9){4}$");
        numberRegularDict.put("*444444", "(4){6}$");
        numberRegularDict.put("*WWXXYYZZ", "(\\d)\\1(?!\\1)(\\d)\\2(?!\\1|\\2)(\\d)\\3(?!\\1|\\2|\\3)(\\d)\\4$"); // 有问题
        numberRegularDict.put("*ABCDEFG", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){6}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){6})\\d$");

        //4
        numberRegularDict.put("*AAAA ", "(((1){4})$|((2){4})$|((3){4})$|((5){4})$|((7){4})$|((0){4})$)");
        numberRegularDict.put("*XYXYXYXY", "(\\d)(?!\\1)(\\d)\\1\\2\\1\\2\\1\\2$");  //可用了
        numberRegularDict.put("*ABCDEF", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\\d$");
        numberRegularDict.put("*666", "(6){3}$");
        numberRegularDict.put("*888", "(8){3}$");
        numberRegularDict.put("*999", "(9){3}$");
        numberRegularDict.put("*AAAAA*", "(((1){5})|((2){5})|((3){5})|((5){5})|((6){5})|((7){5})|((8){5})|((9){5})|((0){5}))\n");
        numberRegularDict.put("*44444", "(4){5}$");
        numberRegularDict.put("*444444*", "(4){6}$");
        numberRegularDict.put("*XXXXYYYY*", "(\\d)\\1\\1\\1(?!\\1)(\\d)\\2\\2\\2");//可用
        numberRegularDict.put("*WWXXYYZZ*", "(\\d)\\1(?!\\1)(\\d)\\2(?!\\1|\\2)(\\d)\\3(?!\\1|\\2|\\3)(\\d)\\4");
        numberRegularDict.put("*WXYZWXYZ*", "((\\d)(?!\\1)(\\d)(?!\\1|\\2)(\\d)(?!\\1|\\2|\\3)(\\d))\\1");
        numberRegularDict.put("*XYXYXYXY*", "(\\d)(?!\\1)(\\d)\\1\\2\\1\\2\\1\\2");
        numberRegularDict.put("*ABCDEFG*", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){6}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){6})\\d");

        // 3
        numberRegularDict.put("*AAA", "(((1){3})$|((2){3})$|((3){3})$|((5){3})$|((7){3})$|((0){3})$)");
        numberRegularDict.put("*AAAA*", "(((1){4})|((2){4})|((3){4})|((5){4})|((6){4})|((7){4})|((8){4})|((9){4})|((0){4}))");
        numberRegularDict.put("*4444", "(4){4}$");
        numberRegularDict.put("*44444*", "(4){5}");
        numberRegularDict.put("*XXYYZZ", "(\\d)\\1(?!\\1)(\\d)\\2(?!\\1|\\2)(\\d)\\3$");
        numberRegularDict.put("*XYXYXY", "(1[2-9]|2[1,3-9]|3[1-2,4-9]|4[1-3,5-9]|5[1-4,6-9]|6[1-5,7-9]|7[1-6,8-9]|8[1-7,9]|9[1-8]{2})\\1\\1"); //
        numberRegularDict.put("*XXXYYY", "(\\d)\\1\\1(?!\\1)(\\d)\\2\\2$");
        numberRegularDict.put("*XYZXYZ", "(\\d)(?!\\1)(\\d)(?!\\1|\\2)(\\d)\\1\\2\\3$");
        numberRegularDict.put("*ABCDE", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){4}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){4})\\d$");
        numberRegularDict.put("*ABCDEF*", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\\d");

        // 2
        numberRegularDict.put("*AAA*", "(((1){3})|((2){3})|((3){3})|((5){3})|((6){3})|((7){3})|((8){3})|((9){3})|((0){3}))");
        numberRegularDict.put("*444", "(4){3}$");
        numberRegularDict.put("*4444*", "(4){4}");
      numberRegularDict.put("*AABB", "(((0011)|(1122)|(2233)|(3344)|(4455)|(5566)|(6677)|(7788)|(8899))|((9988)|(8877)|(7766)|(6655)|(5544)|(4433)|(3322)|(2211)|(1100)))$");
        numberRegularDict.put("*ABCD", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3})\\d$");
        numberRegularDict.put("*XXYYZZ* ", "(\\d)\\1(?!\\1)(\\d)\\2(?!\\1|\\2)(\\d)\\3");
        numberRegularDict.put("*XYXYXY*", "(\\d)(?!\\1)(\\d)\\1\\2\\1\\2");
        numberRegularDict.put("*XXXYYY*", "(\\d)\\1\\1(?!\\1)(\\d)\\2\\2");
        numberRegularDict.put("*XYZXYZ*", "((\\d)(?!\\1)(\\d)(?!\\1|\\2)(\\d))\\1");

        //1
        numberRegularDict.put("*AA", "(((1){2})$|((2){2})$|((3){2})$|((5){2})$|((6){2})$|((7){2})$|((8){2})$|((9){2})$|((0){2})$)");
        numberRegularDict.put("*00A", "(00(\\d))$");
        numberRegularDict.put("*444*", "(4){3}");
        numberRegularDict.put("*ABAB*", "((\\d)(?!\\1)\\d)\\1"); // 任意位置的1212
        numberRegularDict.put("*ABC", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){2})\\d$");
        numberRegularDict.put("*ABBA", "(0110|1001|1221|2112|2332|3223|3443|4334|4554|5445|5665|6556|6776|7667|7887|8778|8998|9889)$");
        numberRegularDict.put("*ABCD*", "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3})\\d"); // 不可用
    }
``
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值