我需要一个正则表达式字符串来匹配以“http://”、“https://”、“www.”、“google.com”开头的 URL
我尝试使用的代码是:
//Pattern to check if this is a valid URL address
Pattern p = Pattern.compile("(http://|https://)(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[a-z]{3}.?([a-z]+)?");
Matcher m;
m=p.matcher(urlAddress);
但是这段代码只能匹配“http://www.google.com”这样的url
我知道这可能是一个重复的问题,但我已经尝试了所有提供的正则表达式,但它不符合我的要求。有人会帮助我吗?谢谢。
最佳答案
您需要将正则表达式中的 (http://|https://)
部分作为可选部分。
^(http:\/\/|https:\/\/)?(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[a-z]{3}.?([a-z]+)?$
关于java - JAVA 中的网站/URL 验证正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24924072/