zoukankan      html  css  js  c++  java
  • 部分国家追踪号正则表达式

        public static void main(String[] args) {
            // LMEZX1912261505YQ
            final String REGEX_LM_TRACKING_NUMBER = "^LME(ZX|PY)(\d{10})YQ$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER0 = "^00\d{1}590077((\d{11})|(\d{12}))$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER1 = "^(A|C|E|H|L|R|S|U|V)([A-Z]{1})(\s?\d{3})(\s?\d{3})(\s?\d{3})\s?PL$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER2 = "^P(00|02|03|04)(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{2})";
            // P00 *** *** *** **
            // P02 *** *** *** **
            // P03 *** *** *** **
            // P04 *** *** *** **
            System.out.println("六脉小包:" + isMatch(REGEX_LM_TRACKING_NUMBER, "LMEZX1912261505YQ"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER0, "00559007730404996086"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER1, "CO 191 229 001PL"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER2, "P0412345678910"));
            
            // *** *** *** *** *** *** *** ***
            final String REGEX_POLAND_INPOST_TRACKING_NUMBER1 = "(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})";
            // 4 *** *** *** *** *** *** *** **
            // 5 *** *** *** *** *** *** *** **
            // 6 *** *** *** *** *** *** *** **
            // 9 *** *** *** *** *** *** *** **
            final String REGEX_POLAND_INPOST_TRACKING_NUMBER2 = "^[4|5|6|9](\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{2})$";
            System.out.println("波兰INPOST:" + isMatch(REGEX_POLAND_INPOST_TRACKING_NUMBER1, "520 000 017 831 331 016 463 590"));
            System.out.println("波兰INPOST:" + isMatch(REGEX_POLAND_INPOST_TRACKING_NUMBER2, "920000017831331016463590"));
            // A# *** *** *** LU
            // C# *** *** *** LU
            // E# *** *** *** LU
            // L# *** *** *** LU
            // R# *** *** *** LU
            // S# *** *** *** LU
            // V# *** *** *** LU
            // 18#! *** ***
            // 19#! *** ***
            final String REGEX_LUXEMBOURG_POST_TRACKING_NUMBER1 = "^[A|C|E|L|R|S|V]([A-Z]{1})(\s?\d{3})(\s?\d{3})(\s?\d{3})\s?LU$";
            final String REGEX_LUXEMBOURG_POST_TRACKING_NUMBER2 = "^1[8|9]([A-Z]{1})([A-Z0-9]{1})(\s?\d{3})(\s?\d{3})$";
            System.out.println("卢森堡邮政:" + isMatch(REGEX_LUXEMBOURG_POST_TRACKING_NUMBER1, "LL329614989 LU"));
            System.out.println("卢森堡邮政:" + isMatch(REGEX_LUXEMBOURG_POST_TRACKING_NUMBER2, "18A9 001 001"));
            // 92 *** *** *** *** *** *** *** ***
            // 420 *** *** *** *** *** *** *** *** ***
            // 420 *** *** *** *** *** *** *** *** *** *** *
            final String REGEX_USPS_TRACKING_NUMBER1 = "^92((\s?\d{3}){8})$";
            final String REGEX_USPS_TRACKING_NUMBER2 = "^420((\s?\d{3}){9}|(\s?\d{3}){10}(\s?\d{1}))$";
            System.out.println("USPS:" + isMatch(REGEX_USPS_TRACKING_NUMBER1, "92 748 927 005 359 000 000 151 755"));
            System.out.println("USPS:" + isMatch(REGEX_USPS_TRACKING_NUMBER2, "420 800 119 261 292 700 535 900 000 001 002 5"));//4208001192612927005359000000010025
            // A# *** *** *** CN
            // B# *** *** *** CN
            // C# *** *** *** CN
            // E# *** *** *** CN
            // F# *** *** *** CN
            // L# *** *** *** CN
            // P# *** *** *** CN
            // R# *** *** *** CN
            // S# *** *** *** CN
            // U# *** *** *** CN
            // V# *** *** *** CN
            // 68 *** *** * *** *** *** *
            final String REGEX_CHINA_POST_TRACKING_NUMBER1 = "^[A|B|C|E|F|L|P|R|S|U|V]([A-Z]{1})((\s?\d{3}){3})(\s?)CN$";
            final String REGEX_CHINA_POST_TRACKING_NUMBER2 = "^68((\s?\d{3}){2})(\s?\d{1})((\s?\d{3}){3})(\s?\d{1})$";
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "LW372557882CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "LW 372 557 882CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "RV231909746CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER2, "68 000 000 0 000 000 000 0"));
        }
        
        public static boolean isMatch(String regex, String orginal) {
            if (orginal == null || orginal.trim().equals("")) { //$NON-NLS-1$
                return false;
            }
            Pattern pattern = Pattern.compile(regex);
            Matcher isNum = pattern.matcher(orginal);
            return isNum.matches();
        }
    

        public static void main(String[] args) {
            // LMEZX1912261505YQ
            final String REGEX_LM_TRACKING_NUMBER = "^LME(ZX|PY)(\d{10})YQ$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER0 = "^00\d{1}590077((\d{11})|(\d{12}))$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER1 = "^(A|C|E|H|L|R|S|U|V)([A-Z]{1})(\s?\d{3})(\s?\d{3})(\s?\d{3})\s?PL$";
            final String REGEX_POLAND_POST_TRACKING_NUMBER2 = "^P(00|02|03|04)(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{2})";
            // P00 *** *** *** **
            // P02 *** *** *** **
            // P03 *** *** *** **
            // P04 *** *** *** **
            System.out.println("六脉小包:" + isMatch(REGEX_LM_TRACKING_NUMBER, "LMEZX1912261505YQ"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER0, "00559007730404996086"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER1, "CO 191 229 001PL"));
            System.out.println("波兰邮政:" + isMatch(REGEX_POLAND_POST_TRACKING_NUMBER2, "P0412345678910"));
            
            // *** *** *** *** *** *** *** ***
            final String REGEX_POLAND_INPOST_TRACKING_NUMBER1 = "(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})";
            // 4 *** *** *** *** *** *** *** **
            // 5 *** *** *** *** *** *** *** **
            // 6 *** *** *** *** *** *** *** **
            // 9 *** *** *** *** *** *** *** **
            final String REGEX_POLAND_INPOST_TRACKING_NUMBER2 = "^[4|5|6|9](\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{3})(\s?\d{2})$";
            System.out.println("波兰INPOST:" + isMatch(REGEX_POLAND_INPOST_TRACKING_NUMBER1, "520 000 017 831 331 016 463 590"));
            System.out.println("波兰INPOST:" + isMatch(REGEX_POLAND_INPOST_TRACKING_NUMBER2, "920000017831331016463590"));
            // A# *** *** *** LU
            // C# *** *** *** LU
            // E# *** *** *** LU
            // L# *** *** *** LU
            // R# *** *** *** LU
            // S# *** *** *** LU
            // V# *** *** *** LU
            // 18#! *** ***
            // 19#! *** ***
            final String REGEX_LUXEMBOURG_POST_TRACKING_NUMBER1 = "^[A|C|E|L|R|S|V]([A-Z]{1})(\s?\d{3})(\s?\d{3})(\s?\d{3})\s?LU$";
            final String REGEX_LUXEMBOURG_POST_TRACKING_NUMBER2 = "^1[8|9]([A-Z]{1})([A-Z0-9]{1})(\s?\d{3})(\s?\d{3})$";
            System.out.println("卢森堡邮政:" + isMatch(REGEX_LUXEMBOURG_POST_TRACKING_NUMBER1, "LL329614989 LU"));
            System.out.println("卢森堡邮政:" + isMatch(REGEX_LUXEMBOURG_POST_TRACKING_NUMBER2, "18A9 001 001"));
            // 92 *** *** *** *** *** *** *** ***
            // 420 *** *** *** *** *** *** *** *** ***
            // 420 *** *** *** *** *** *** *** *** *** *** *
            final String REGEX_USPS_TRACKING_NUMBER1 = "^92((\s?\d{3}){8})$";
            final String REGEX_USPS_TRACKING_NUMBER2 = "^420((\s?\d{3}){9}|(\s?\d{3}){10}(\s?\d{1}))$";
            System.out.println("USPS:" + isMatch(REGEX_USPS_TRACKING_NUMBER1, "92 748 927 005 359 000 000 151 755"));
            System.out.println("USPS:" + isMatch(REGEX_USPS_TRACKING_NUMBER2, "420 800 119 261 292 700 535 900 000 001 002 5"));//4208001192612927005359000000010025
            // A# *** *** *** CN
            // B# *** *** *** CN
            // C# *** *** *** CN
            // E# *** *** *** CN
            // F# *** *** *** CN
            // L# *** *** *** CN
            // P# *** *** *** CN
            // R# *** *** *** CN
            // S# *** *** *** CN
            // U# *** *** *** CN
            // V# *** *** *** CN
            // 68 *** *** * *** *** *** *
            final String REGEX_CHINA_POST_TRACKING_NUMBER1 = "^[A|B|C|E|F|L|P|R|S|U|V]([A-Z]{1})((\s?\d{3}){3})(\s?)CN$";
            final String REGEX_CHINA_POST_TRACKING_NUMBER2 = "^68((\s?\d{3}){2})(\s?\d{1})((\s?\d{3}){3})(\s?\d{1})$";
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "LW372557882CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "LW 372 557 882CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER1, "RV231909746CN"));
            System.out.println("中国邮政:" + isMatch(REGEX_CHINA_POST_TRACKING_NUMBER2, "68 000 000 0 000 000 000 0"));
        }
        
        public static boolean isMatch(String regex, String orginal) {
            if (orginal == null || orginal.trim().equals("")) { //$NON-NLS-1$
                return false;
            }
            Pattern pattern = Pattern.compile(regex);
            Matcher isNum = pattern.matcher(orginal);
            return isNum.matches();
        }

  • 相关阅读:
    vue自定义指令:v-drag使用 拖动拖拽
    element ui 中动态添加的树形结构(带删除功能的),不管点击删除哪个都会删除掉最后一个
    element ui 表格中的插槽用法
    报错:Uncaught SyntaxError: Unexpected token u in JSON at position 0
    vue报错:Duplicate keys detected: ' '. This may cause an update error
    el-input验证规则
    el-input 给v-model赋了默认值后不能编辑
    DC-2 渗透测试
    DC:1渗透测试
    CTF easytrick
  • 原文地址:https://www.cnblogs.com/zhc-hnust/p/12108791.html
Copyright © 2011-2022 走看看