java中url正則regex匹配

weixin_30488085發表於2020-04-06

String regex = "^(?:https?://)?[\\w]{1,}(?:\\.?[\\w]{1,})+[\\w-_/?&=#%:]*$";

解釋說明:

  ^  :表示匹配開始;

  ?:https?://  :表示https?有,則有://;如果沒有https?,則沒有://,它們是一對一匹配;

  (?:https?://)?  :表示捕獲組0個或者1個,可以沒有https:// http://;

  [\\w]{1,}  :表示匹配a-zA-Z0-9,可以有多個,比如www ad 123dd等多種組合;

  ?:\\.?[\\w]{1,}  :表示匹配如果有.,則有[\\w]{1,};如果沒有.,則沒有[\\w]{1,},它們是一對一匹配;

  (?:\\.?[\\w]{1,})+  :表示至少匹配一個.abc .com .cn;

  [\\w-_/?&=#%:]*  :表示匹配url後面的引數,包括特殊字元,可以有0個或者多個;

  $  :表示匹配結束;

 

 

量詞:

量詞描述一個模式吸收輸入文字的方式.

*:前面字元或組匹配0或多個

+:前面字元或組匹配1或多個

?:前面字元或組匹配0或1個

{n}:前面字元或組的數量為n個

{n,}:前面字元或組的數量至少n個

{n,m}:前面字元或組數量至少n個,最多m個

  

轉載於:https://www.cnblogs.com/nizuimeiabc1/p/5869673.html

相關文章