首页 > 解决方案 > 通用 URL 格式

问题描述

我正在尝试解决从大文本中提取 URL 的问题,我一直在寻找 URL 的通用格式,直到找到这个https://en.wikipedia.org/wiki/URL;我制作了这段代码,但我不知道为什么它没有找到 URL:

 Pattern p = Pattern.compile("(http|https|ftp|mailto|file|data|irc|rtsp)(\\:)(^\\w{1})([a-zA-Z0-9/%+.-]*$)\\.(com|net|org|jo)\\/(.+)" , Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(text);
       if(m.matches())
             System.out.println(text) ;
       else
             System.out.println("no matches");

标签: javaregexurlnetbeans-8

解决方案


对我来说,这个正则表达式有效:

(http|https|ftp|mailto|file|data|irc|rtsp)(\:)(\/\/)([a-zA-Z0-9\/%+.-\/]*)\.(com|net|org|jo)\/(\w*\/)*(\w+)

如果您希望此处的 URL 的最后一部分是第 7 组,则必须捕获最后一组

我希望它有帮助


推荐阅读