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)href\s*=\s*(\"([^"]*\")|'[^']*'|([^'">\s]+));
\s*                             # 可以以空格開始
  (?i)                          #      所有的檢查是區分大小寫的
     href                       #        接下來是一個"href"字
        \s*=\s*                 #          等號兩邊都允許空格,
              (                 #            組#1開始
               "([^"]*")        #              只允許2個雙引號成對出現 - "string"
               |                #              ..或者
               '[^']*'          #              只允許2個單引號成對出現 - 'string'
               |                #              ..或者
               ([^'">]+)     #              或者不允許出現單獨的單引號、雙引號和">"
               )                #            組#1結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章