zoukankan      html  css  js  c++  java
  • Java正则表达式

    1. 用户名正则表达式模式

    ^[a-z0-9_-]{3,15}$
    ^                         # 行开始
      [a-z0-9_-]              # 匹配列表中的字符,a-z,0–9,下划线,连字符
                {3,15}        # 长度至少3个字符,最大长度为15
    $                         # 行结束

    2. 密码正则表达式模式

    ((?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
    (                        # 组开始
        (?=.*d)             # 必须包含一个数字 0-9
        (?=.*[a-z])          # 必须包含一个小写字符
        (?=.*[A-Z])          # 必须包含一个大写字符
        (?=.*[@#$%])         # 必须包含一个列表中的特殊字符"@#$%"
                    .        # 检查所有字符串与前面的条件的匹配
                     {6,20}  # 长度至少为6个字符,最大长度为20
    )                        # 组结束

    3. 16进制颜色代码正则表达式模式

    ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
    ^                       # 行开始
     #                      #   必须包含一个"#"符号
      (                     #   组#1开始
       [A-Fa-f0-9]{6}       #     列表中的任意字符串,长度为6
       |                    #     ..或者
       [A-Fa-f0-9]{3}       #     列表中的任意字符串,长度为3
      )                     #   组#1结束
    $                       # 行结束

    4. Email 正则表达式模式

    ^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
    ^                            # 行开始
      [_A-Za-z0-9-]+             #   必须以中括号中的字符为起始字符[],必须包含一个或多个(+)
      (                          #   组#1开始
        \.[_A-Za-z0-9-]+        #     接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)
      )*                         #   组#1结束, 这个组是可选的(*)
        @                        #     必须包含一个"@"符号
         [A-Za-z0-9]+            #       接下来是中括号内的字符[],必须包含一个或者多个(+)
          (                      #         组 #2开始 – 一级TLD检查
           \.[A-Za-z0-9]+       #           接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)
          )*                     #         组#2结束,这个组是可选的(*)
          (                      #         组#3开始 – 二级TLD检查
           \.[A-Za-z]{2,}       #           接下来是一个点"."和中括号内的字符[], 最小长度为2
          )                      #         组#3结束
    $                            # 行结束

    5. 图像文件扩展名正则表达式模式

    ([^s]+(.(?i)(jpg|png|gif|bmp))$)
    (                         # 组#1开始
     [^s]+                   #   必须包含一个或更多的任意字符(除了空格)
           (                  #     组#2开始
            .                #       接下来是一个点"."
             (?i)             #       忽略后边字符的大小写检查
                 (            #         组#3开始
                  jpg         #           包含字符"jpg"
                  |           #           ..或者
                  png         #           包含字符"png"
                  |           #           .. 或者
                  gif         #           包含字符"gif"
                  |           #           .. 或者
                  bmp         #           包含字符"bmp"
                 )            #         组#3结束
           )                  #     组#2结束
     $                        #   字符串的结束
    )                         # 组#1结束
    补充一个:[\s\S]*?([^\/]*?\.jpg)

    6. IP地址正则表达式模式

    ^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.
    ([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$
    ^                  # 行开始
     (                 #   组#1开始
      [01]?\d\d?     #     可以是1到2个数字. 如果出现3个数字, 必须以0或者1开始
                       #     例如 ([0-9], [0-9][0-9],[0-1][0-9][0-9])
        |              #     ...或者
      2[0-4]\d        #     以2开始, 紧跟着是0-4,并且以任意数字结尾(2[0-4][0-9])
       |               #     ...或者
      25[0-5]          #     以2开始, 紧跟着是5,并且以0-5结尾 (25[0-5])
     )                 #   组#1结束
      .               #   接下来是点"."
    ....               #   重复3次 (3x)
    $                  # 行结束

    7. 时间格式正则表达式模式

    12-小时制时间正则表达式模式

    (1[012]|[1-9]):[0-5][0-9](\s)?(?i)(am|pm)
    (                                  # 组#1开始
     1[012]                            #   以10, 11, 12开始
     |                                 #   或者
     [1-9]                             #   以1,2,...9开始
    )                                  # 组#1结束
     :                                 #   接下来是一个冒号 (:)
      [0-5][0-9]                       #     接下来是0..5和0..9,意思是00到59
                (\s)?                 #       接下来是一个空格(可选)
                      (?i)             #         下面的检查不区分大小写
                          (am|pm)      #           接下来是AM或者PM

    24小时制时间正则表达式模式

    ([01]?[0-9]|2[0-3]):[0-5][0-9]
    (                                  # 组#1开始
     [01]?[0-9]                        #   以0-9,1-9,00-09,10-19开始
     |                                 #   或者
     2[0-3]                            #   以20-23开始
    )                                  # 组#1结束
     :                                 #   接下来是一个冒号(:)
      [0-5][0-9]                       #     接下来是0..5和0..9,意思是00到59

    8. 日期格式 (dd/mm/yyyy) 正则表达式模式

    (0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\d\d)
    (                          # 组#1开始
     0?[1-9]                   #   01-09或者1-9
     |                         #   ..或者
     [12][0-9]                 #   10-19或者20-29
     |                         #   ..或者
     3[01]                     #   30, 31
    )                          # 组#1结束
      /                        #   接下来是一个"/"
       (                       #     组#2开始
        0?[1-9]                #       01-09或者1-9
        |                      #       ..或者
        1[012]                 #       10,11,12
        )                      #     组#2结束
         /                     #       接下来是一个"/"
          (                    #         组#3开始
           (19|20)\d\d       #           19[0-9][0-9]或者20[0-9][0-9]
          )                    #         组#3结束

    9. HTML标签正则表达式模式

    <("[^"]*"|'[^']*'|[^'">])*>
    <                # 以"<"标签开始
     (               #   组#1开始
      "[^"]*"        #     只允许两个双引号成对出现-"string"
      |              #     ..或者
      '[^']*'        #     只允许两个单引号成对出现- 'string'
      |              #     ..或者
      [^'">]         #     不能出现单独的双引号、单引号和">"
     )               #   组#1结束
     *               #   0次或多次
    >                # 以结束标签">"结束

    10. HTML链接正则表达式模式

    HTML中的A标签正则表达式模式

    (?i)<a([^>]+)>(.+?)</a>
    (                 # 组#1开始
     ?i               #      所有的检查区分大小写
    )                 # 组#1结束
    <a                # 以"<a"开始
      (               #      组#2开始
       [^>]+          #        除了(">")之外的任意字符,至少一个字符
      )               #      组#2结束
      >               #        接下来是">"
       (.+?)          #          匹配所有
            </a>      #            以"</a>结束

    提取HTML链接正则表达式模式

    s*(?i)hrefs*=s*("([^"]*")|'[^']*'|([^'">s]+));
    s*                             # 可以以空格开始
      (?i)                          #      所有的检查是区分大小写的
         href                       #        接下来是一个"href"字
            s*=s*                 #          等号两边都允许空格,
                  (                 #            组#1开始
                   "([^"]*")        #              只允许2个双引号成对出现 - "string"
                   |                #              ..或者
                   '[^']*'          #              只允许2个单引号成对出现 - 'string'
                   |                #              ..或者
                   ([^'">]+)     #              或者不允许出现单独的单引号、双引号和">"
                   )                #            组#1结束
  • 相关阅读:
    SQL常用语句(不定期更新)包含 日期格式,取列
    前端开发 ---浏览器自动刷新
    记录Redis使用中遇到的两个问题(原子性及数据完整性)
    Linux 输出重定向
    逆向手机内核,添加调试支持及绕过反调试
    阿里2014移动安全挑战赛第二题调试笔记
    在redhat6.4上编译z3求解器
    WCF学习笔记一(概述)
    DataReader反射泛型对象
    自定义配置节点(一)
  • 原文地址:https://www.cnblogs.com/ruiati/p/3693297.html
Copyright © 2011-2022 走看看