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结束
  • 相关阅读:
    remove white space from read
    optimize the access speed of django website
    dowload image from requests
    run jupyter from command
    crawl wechat page
    python version 2.7 required which was not found in the registry windows 7
    health
    alternate rows shading using conditional formatting
    word
    【JAVA基础】static 关键字
  • 原文地址:https://www.cnblogs.com/ruiati/p/3693297.html
Copyright © 2011-2022 走看看