Class PatternPool

java.lang.Object
com.luna.common.regex.PatternPool

public class PatternPool extends Object
常用正则表达式集合,更多正则见:https://any86.github.io/any-rule/
Author:
Looly
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Pattern
    生日
    static final Pattern
    驾驶证 别名:驾驶证档案编号、行驶证编号 eg:430101758218 12位数字字符串 仅限:中国驾驶证档案编号
    static final Pattern
    车架号 别名:车辆识别代号 车辆识别码 eg:LDC613P23A1305189 eg:LSJA24U62JG269225 十七位码、车架号 车辆的唯一标示
    static final Pattern
    单个中文汉字
    static final Pattern
    中文汉字
    static final Pattern
    18位身份证号码
    static final Pattern
    社会统一信用代码
    static final Pattern
    邮件,符合RFC 5322规范,正则来自:http://emailregex.com/ What is the maximum length of a valid email address? https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/44317754 注意email 要宽松一点。比如 jetz.chong@hutool.cn、jetz-chong@ hutool.cn、jetz_chong@hutool.cn、dazhi.duan@hutool.cn 宽松一点把,都算是正常的邮箱
    static final Pattern
    英文字母 、数字和下划线
    static final Pattern
    中文字、英文字母、数字和下划线
    static final Pattern
    分组
    static final Pattern
    16进制字符串
    static final Pattern
    IP v4
    static final Pattern
    IP v6
    static final Pattern
    MAC地址正则
    static final Pattern
    移动电话
    static final Pattern
    中国香港移动电话 eg: 中国香港: +852 5100 4810, 三位区域码+10位数字, 中国香港手机号码8位数 eg: 中国大陆: +86 180 4953 1399,2位区域码标示+13位数字 中国大陆 +86 Mainland China 中国香港 +852 Hong Kong 中国澳门 +853 Macao 中国台湾 +886 Taiwan
    static final Pattern
    中国澳门移动电话 eg: 中国台湾: +853 68 00000, 三位区域码 +号码以数字6开头 + 7位数字, 中国台湾手机号码8位数 中国澳门 +853 Macao 国际域名缩写:MO
    static final Pattern
    中国台湾移动电话 eg: 中国台湾: +886 09 60 000000, 三位区域码+号码以数字09开头 + 8位数字, 中国台湾手机号码10位数 中国台湾 +886 Taiwan 国际域名缩写:TW
    static final Pattern
    货币
    static final Pattern
    数字
    static final Pattern
    中国车牌号码(兼容新能源车牌)
    static final Pattern
    座机号码
    static final Pattern
    座机号码+400+800电话
    static final Pattern
    时间正则
    static final Pattern
    URL
    static final Pattern
    Http URL
    static final Pattern
    UUID
    static final Pattern
    不带横线的UUID
    static final Pattern
    字母
    static final Pattern
    邮编,兼容港澳台
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    清空缓存池
    static Pattern
    get(String regex)
    先从Pattern池中查找正则对应的Pattern,找不到则编译正则表达式并入池。
    static Pattern
    get(String regex, int flags)
    先从Pattern池中查找正则对应的Pattern,找不到则编译正则表达式并入池。
    static Pattern
    remove(String regex, int flags)
    移除缓存

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • GENERAL

      public static final Pattern GENERAL
      英文字母 、数字和下划线
    • NUMBERS

      public static final Pattern NUMBERS
      数字
    • WORD

      public static final Pattern WORD
      字母
    • CHINESE

      public static final Pattern CHINESE
      单个中文汉字
    • CHINESES

      public static final Pattern CHINESES
      中文汉字
    • GROUP_VAR

      public static final Pattern GROUP_VAR
      分组
    • IPV4

      public static final Pattern IPV4
      IP v4
    • IPV6

      public static final Pattern IPV6
      IP v6
    • MONEY

      public static final Pattern MONEY
      货币
    • EMAIL

      public static final Pattern EMAIL
      邮件,符合RFC 5322规范,正则来自:http://emailregex.com/ What is the maximum length of a valid email address? https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/44317754 注意email 要宽松一点。比如 jetz.chong@hutool.cn、jetz-chong@ hutool.cn、jetz_chong@hutool.cn、dazhi.duan@hutool.cn 宽松一点把,都算是正常的邮箱
    • MOBILE

      public static final Pattern MOBILE
      移动电话
    • MOBILE_HK

      public static final Pattern MOBILE_HK
      中国香港移动电话 eg: 中国香港: +852 5100 4810, 三位区域码+10位数字, 中国香港手机号码8位数 eg: 中国大陆: +86 180 4953 1399,2位区域码标示+13位数字 中国大陆 +86 Mainland China 中国香港 +852 Hong Kong 中国澳门 +853 Macao 中国台湾 +886 Taiwan
    • MOBILE_TW

      public static final Pattern MOBILE_TW
      中国台湾移动电话 eg: 中国台湾: +886 09 60 000000, 三位区域码+号码以数字09开头 + 8位数字, 中国台湾手机号码10位数 中国台湾 +886 Taiwan 国际域名缩写:TW
    • MOBILE_MO

      public static final Pattern MOBILE_MO
      中国澳门移动电话 eg: 中国台湾: +853 68 00000, 三位区域码 +号码以数字6开头 + 7位数字, 中国台湾手机号码8位数 中国澳门 +853 Macao 国际域名缩写:MO
    • TEL

      public static final Pattern TEL
      座机号码
    • TEL_400_800

      public static final Pattern TEL_400_800
      座机号码+400+800电话
      See Also:
    • CITIZEN_ID

      public static final Pattern CITIZEN_ID
      18位身份证号码
    • ZIP_CODE

      public static final Pattern ZIP_CODE
      邮编,兼容港澳台
    • BIRTHDAY

      public static final Pattern BIRTHDAY
      生日
    • URL

      public static final Pattern URL
      URL
    • URL_HTTP

      public static final Pattern URL_HTTP
      Http URL
    • GENERAL_WITH_CHINESE

      public static final Pattern GENERAL_WITH_CHINESE
      中文字、英文字母、数字和下划线
    • UUID

      public static final Pattern UUID
      UUID
    • UUID_SIMPLE

      public static final Pattern UUID_SIMPLE
      不带横线的UUID
    • MAC_ADDRESS

      public static final Pattern MAC_ADDRESS
      MAC地址正则
    • HEX

      public static final Pattern HEX
      16进制字符串
    • TIME

      public static final Pattern TIME
      时间正则
    • PLATE_NUMBER

      public static final Pattern PLATE_NUMBER
      中国车牌号码(兼容新能源车牌)
    • CREDIT_CODE

      public static final Pattern CREDIT_CODE
      社会统一信用代码
       第一部分:登记管理部门代码1位 (数字或大写英文字母)
       第二部分:机构类别代码1位 (数字或大写英文字母)
       第三部分:登记管理机关行政区划码6位 (数字)
       第四部分:主体标识码(组织机构代码)9位 (数字或大写英文字母)
       第五部分:校验码1位 (数字或大写英文字母)
       
    • CAR_VIN

      public static final Pattern CAR_VIN
      车架号 别名:车辆识别代号 车辆识别码 eg:LDC613P23A1305189 eg:LSJA24U62JG269225 十七位码、车架号 车辆的唯一标示
    • CAR_DRIVING_LICENCE

      public static final Pattern CAR_DRIVING_LICENCE
      驾驶证 别名:驾驶证档案编号、行驶证编号 eg:430101758218 12位数字字符串 仅限:中国驾驶证档案编号
  • Constructor Details

    • PatternPool

      public PatternPool()
  • Method Details

    • get

      public static Pattern get(String regex)
      先从Pattern池中查找正则对应的Pattern,找不到则编译正则表达式并入池。
      Parameters:
      regex - 正则表达式
      Returns:
      Pattern
    • get

      public static Pattern get(String regex, int flags)
      先从Pattern池中查找正则对应的Pattern,找不到则编译正则表达式并入池。
      Parameters:
      regex - 正则表达式
      flags - 正则标识位集合 Pattern
      Returns:
      Pattern
    • remove

      public static Pattern remove(String regex, int flags)
      移除缓存
      Parameters:
      regex - 正则
      flags - 标识
      Returns:
      移除的Pattern,可能为null
    • clear

      public static void clear()
      清空缓存池