分享

[JAVA] REGEX to validate URL

 openwudi 2014-10-16

public static final Matcher WEB  = Pattern.compile(
	new StringBuilder()
		.append("((?:(http|https|Http|Https|rtsp|Rtsp):")
		.append("\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)")
			.append("\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_")
			.append("\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?")
			.append("((?:(?:[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}\\.)+")   // named host
			.append("(?:")   // plus top level domain
			.append("(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])")
			.append("|(?:biz|b[abdefghijmnorstvwyz])")
			.append("|(?:cat|com|coop|c[acdfghiklmnoruvxyz])")
			.append("|d[ejkmoz]")
			.append("|(?:edu|e[cegrstu])")
			.append("|f[ijkmor]")
			.append("|(?:gov|g[abdefghilmnpqrstuwy])")
			.append("|h[kmnrtu]")
			.append("|(?:info|int|i[delmnoqrst])")
			.append("|(?:jobs|j[emop])")
			.append("|k[eghimnrwyz]")
			.append("|l[abcikrstuvy]")
			.append("|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])")
			.append("|(?:name|net|n[acefgilopruz])")
			.append("|(?:org|om)")
			.append("|(?:pro|p[aefghklmnrstwy])")
			.append("|qa")
			.append("|r[eouw]")
			.append("|s[abcdeghijklmnortuvyz]")
			.append("|(?:tel|travel|t[cdfghjklmnoprtvwz])")
			.append("|u[agkmsyz]")
			.append("|v[aceginu]")
			.append("|w[fs]")
			.append("|y[etu]")
			.append("|z[amw]))")
			.append("|(?:(?:25[0-5]|2[0-4]") // or ip address
			.append("[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]")
			.append("|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1]")
			.append("[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}")
			.append("|[1-9][0-9]|[0-9])))")
			.append("(?:\\:\\d{1,5})?)") // plus option port number
			.append("(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~")  // plus option query params
			.append("\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?")
			.append("(?:\\b|$)").toString()
		).matcher("");

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约