[英]Java : Determine if String is an URL(without www or http), take its screenshot
[英]Java : Error Extract URL without WWW from a String
我试图从字符串中提取网址,这是字符串:
Hello my name is John. My blog is john.com
我无法提取该网址( john.com
),因为它不包含www
我从提取网址中使用以下表达式:
(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])
但仍然不起作用。
请帮助我如何在不使用www的情况下提取网址
注意:我已经在stactoverflow
上尝试了所有类似的问题,但仍然无法正常工作
您可以尝试使用我在项目中使用过的Regex
public static List<String> extractUrls(String sms) {
List<String> containedUrls = new ArrayList<String>();
String text = sms;
// Split the sms to analyze if each part is a URL
String[] split = text.split(" ");
Pattern p = Pattern.compile("(@)?(href=')?(HREF=')?(HREF=\")?(href=\")?(http://)?[a-zA-Z_0-9\\-]+(\\.\\w[a-zA-Z_0-9\\-]+)+(/[#&\\n\\-=?\\+\\%/\\.\\w]+)?");
// Attempt to convert each item into an URL
for (int i = 0; i < split.length; i++) {
if (p.matcher(split[i]).matches()) containedUrls.add(split[i]);
}
return containedUrls;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.