java匹配url網址正則表達式

java中對url校驗的正則表達式如下:

String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";

 

這裏的“\\\\”四個斜槓,被解釋後實際上是一個斜槓。

  1. java將“\\”解析爲“\”
  2. 所以“\\\\”,java將會解析爲“\\”交給正則表達式
  3.  正則表達式再經過一次轉換,把\\轉換成爲\

所以,java裏面要用正則來表示一個\, 必須寫成4個\ 。如果要表示\\,那就要寫8個\

 

public static boolean isUrl(String urls) {
        if(StringUtils.isBlank(urls)) {
            return  true;
        }
        String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";

        Pattern pat = Pattern.compile(regex);
        Matcher mat = pat.matcher(urls.trim());
        boolean result = mat.matches();
        return result;
    }

 

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