正则表达式匹配java中带或不带http的url

正则表达式匹配java中带或不带http的url,java,regex,Java,Regex,我想验证一个包含或不包含http的url。 我尝试了^https{0,1}://[a-zA-Z0-9\\/\-\.]+\.[a-zA-z/]{2,5}[a-zA-Z0-9\\/\\&?\=\-\\\\\\\\\\\\\\\%]* 但这是火柴http://google.com 但不是www.google.com。 我想要一个与www.google.com匹配的正则表达式 谢谢尝试使用^https?:/?而不是^https{0,1}://^?:https?://。。。剩下的正则表达式 ?:表示不捕获

我想验证一个包含或不包含http的url。 我尝试了^https{0,1}://[a-zA-Z0-9\\/\-\.]+\.[a-zA-z/]{2,5}[a-zA-Z0-9\\/\\&?\=\-\\\\\\\\\\\\\\\%]*

但这是火柴http://google.com 但不是www.google.com。 我想要一个与www.google.com匹配的正则表达式


谢谢

尝试使用^https?:/?而不是^https{0,1}://

^?:https?://。。。剩下的正则表达式

?:表示不捕获组 ? 量词缩小匹配如果存在,如果不存在-忽略它
另外,我不确定量词缩小对英语母语人士是否有意义,这是俄语的粗略翻译:如果我错了,希望如此,有人理解我的意思,可以解决我的问题。

如果可以,可以使用库:如果你研究使用正则表达式匹配URL,你会发现很难创建一个匹配所有情况的库。