Java 的 URL 正则表达式

标签 java regex url

我需要一个正则表达式,它将匹配下一个网址:

(http|https)://(www)<my domain here>
(http|https)://(www)<my domain here>/page1
(http|https)://(www)<my domain here>/page1/.../
(http|https)://(www)<my domain here>/page1/...?a=b
(http|https)://(www)<my domain here>/page1/...?a=b&c=d...

我有一个正则表达式,但我不知道如何编辑它

^(http:\/\/|https:\/\/)?(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[a-z]{3}.?([a-z]+)?$

最佳答案

您可以使用以下内容:

^(http:\/\/|https:\/\/)?(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[a-z]{3}.?([a-z]+)?(\/[a-z0-9])*(\/?|(\?[a-z0-9]=[a-z0-9](&[a-z0-9]=[a-z0-9]*)?))$

对于特定域名:

^(http:\/\/|https:\/\/)?(www.)?example\.com(\/?|(\?[a-z0-9]=[a-z0-9](&[a-z0-9]=[a-z0-9]*)?))$

编辑:验证域并获取网址:

(http:\/\/|https:\/\/)?(www.)?example\.com\S*

关于Java 的 URL 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32613720/

相关文章:

java - Java 变量太多?

java - 检查字符串是否是英文单词?

MySQL LIKE IN() 并使用 AND

regex - 如何为一个原始模式搜索执行多个就地 SEDS?

c# - 如何使用这些部件在 C# 中可靠地构建 URL?

PHP 正在从我的 rtrim 函数中删除一个字母 "g",但不会删除其他字符

Java 8 DateTimeFormatter 在它们为零时下降毫秒?

java - 对实时转换请求没有回应

c# - 匹配进程参数的正则表达式

python - 我如何确定给定网址中是否存在任何内容