Class Pattern

java.lang.Object
org.miaixz.bus.core.center.regex.Pattern

public class Pattern extends Object
常用正则表达式集合,更多正则见: https://any86.github.io/any-rule/
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

    • GENERAL_PATTERN

      public static final Pattern GENERAL_PATTERN
      英文字母 、数字和下划线
    • NUMBERS_PATTERN

      public static final Pattern NUMBERS_PATTERN
      数字
    • WORD_PATTERN

      public static final Pattern WORD_PATTERN
      字母
    • NOT_NUMBERS_PATTERN

      public static final Pattern NOT_NUMBERS_PATTERN
      非数字
    • WITH_NOT_NUMBERS_PATTERN

      public static final Pattern WITH_NOT_NUMBERS_PATTERN
      从非数字开始
    • SPACES_PATTERN

      public static final Pattern SPACES_PATTERN
      空格
    • SPACES_COLON_SPACE_PATTERN

      public static final Pattern SPACES_COLON_SPACE_PATTERN
      空格冒号空格
    • VALID_HEX_PATTERN

      public static final Pattern VALID_HEX_PATTERN
      用于检查十六进制字符串的有效性
    • CHINESE_PATTERN

      public static final Pattern CHINESE_PATTERN
      单个中文汉字 参照维基百科汉字Unicode范围(https://zh.wikipedia.org/wiki/%E6%B1%89%E5%AD%97 页面右侧)
    • CHINESES_PATTERN

      public static final Pattern CHINESES_PATTERN
      中文汉字
    • GROUP_VAR_PATTERN

      public static final Pattern GROUP_VAR_PATTERN
      分组
    • IP_ADDRESS_PATTERN

      public static final Pattern IP_ADDRESS_PATTERN
      快速区分IP地址和主机名
    • IPV4_PATTERN

      public static final Pattern IPV4_PATTERN
      IP v4 采用分组方式便于解析地址的每一个段
    • IPV6_PATTERN

      public static final Pattern IPV6_PATTERN
      IP v6
    • MONEY_PATTERN

      public static final Pattern MONEY_PATTERN
      货币
    • EMAIL_PATTERN

      public static final Pattern EMAIL_PATTERN
      邮件,符合RFC 5322规范,注意email 要宽松一点 正则来自:http://emailregex.com/ 参考:
      • https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/44317754
      • https://stackoverflow.com/questions/201323/how-can-i-validate-an-email-address-using-a-regular-expression
    • MOBILE_PATTERN

      public static final Pattern MOBILE_PATTERN
      移动电话 eg: 中国大陆: +86 180 5690 2500,2位区域码标示+13位数字
    • MOBILE_HK_PATTERN

      public static final Pattern MOBILE_HK_PATTERN
      中国香港移动电话 eg: 中国香港: +852 5100 6590, 三位区域码+10位数字, 中国香港手机号码8位数
    • MOBILE_TW_PATTERN

      public static final Pattern MOBILE_TW_PATTERN
      中国台湾移动电话 eg: 中国台湾: +886 09 60 000000, 三位区域码+号码以数字09开头 + 8位数字, 中国台湾手机号码10位数
    • MOBILE_MO_PATTERN

      public static final Pattern MOBILE_MO_PATTERN
      中国澳门移动电话 eg: 中国澳门: +853 68 00000, 三位区域码 +号码以数字6开头 + 7位数字, 中国台湾手机号码8位数
    • TEL_PATTERN

      public static final Pattern TEL_PATTERN
      座机号码
    • TEL_400_800_PATTERN

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

      public static final Pattern CITIZEN_ID_PATTERN
      18位身份证号码
    • ZIP_CODE_PATTERN

      public static final Pattern ZIP_CODE_PATTERN
      邮编,兼容港澳台
    • BIRTHDAY_PATTERN

      public static final Pattern BIRTHDAY_PATTERN
      生日
    • URI_PATTERN

      public static final Pattern URI_PATTERN
    • URL_PATTERN

      public static final Pattern URL_PATTERN
      URL
    • URL_HTTP_PATTERN

      public static final Pattern URL_HTTP_PATTERN
      Protocol URL(来自:http://urlregex.com/) 此正则同时支持FTP、File等协议的URL
    • GENERAL_WITH_CHINESE_PATTERN

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

      public static final Pattern UUID_PATTERN
      UUID
    • UUID_SIMPLE_PATTERN

      public static final Pattern UUID_SIMPLE_PATTERN
      不带横线的UUID
    • MAC_ADDRESS_PATTERN

      public static final Pattern MAC_ADDRESS_PATTERN
      MAC地址正则
    • HEX_PATTERN

      public static final Pattern HEX_PATTERN
      16进制字符串
    • TIME_PATTERN

      public static final Pattern TIME_PATTERN
      时间正则
    • PLATE_NUMBER_PATTERN

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

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

      public static final Pattern CAR_VIN_PATTERN
      车架号(车辆识别代号由世界制造厂识别代号(WMI、车辆说明部分(VDS)车辆指示部分(VIS)三部分组成,共 17 位字码。) 别名:车辆识别代号、车辆识别码、车架号、十七位码 标准号:GB 16735-2019 标准官方地址:https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=E2EBF667F8C032B1EDFD6DF9C1114E02 对年产量大于或等于1 000 辆的完整车辆和/或非完整车辆制造厂:
         第一部分为世界制造厂识别代号(WMI),3位
         第二部分为车辆说明部分(VDS),     6位
         第三部分为车辆指示部分(VIS),     8位
       

      对年产量小于 1 000 辆的完整车辆和/或非完整车辆制造厂:

         第一部分为世界制造广识别代号(WMI),3位;
         第二部分为车辆说明部分(VDS),6位;
         第三部分的三、四、五位与第一部分的三位字码起构成世界制造厂识别代号(WMI),其余五位为车辆指示部分(VIS),8位。
       
         eg:LDC210P23A1306189
         eg:LSJA24U61JG269201
         eg:LBV5S3102ESJ20935
       
    • CAR_DRIVING_LICENCE_PATTERN

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

      public static final Pattern CHINESE_NAME_PATTERN
      中文姓名 维吾尔族姓名里面的点是 · 输入法中文状态下,键盘左上角数字1前面的那个符号; 错误字符:..。.. 正确维吾尔族姓名:
       霍加阿卜杜拉·麦提喀斯木
       玛合萨提别克·哈斯木别克
       阿布都热依木江·艾斯卡尔
       阿卜杜尼亚孜·毛力尼亚孜
       
       ----------
       错误示例:大  小                reason: 有空格
       错误示例:乐逍遥0               reason: 数字
       错误示例:依帕古丽-艾则孜        reason: 特殊符号
       错误示例:牙力空.买提萨力        reason: 新疆人的点不对
       错误示例:王二小2002-3-2        reason: 有数字、特殊符号
       错误示例:霍金(科学家)          reason: 有括号
       错误示例:寒冷:冬天             reason: 有特殊符号
       错误示例:大                   reason: 少于2位
       ----------
       
      总结中文姓名:2-60位,只能是中文和维吾尔族的点· 放宽汉字范围:如生僻字
    • FILE_NAME_INVALID_PATTERN_WIN

      public static final Pattern FILE_NAME_INVALID_PATTERN_WIN
      Windows下文件名中的无效字符
  • Constructor Details

    • Pattern

      public Pattern()
  • 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()
      清空缓存池