java - 通用 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");
解决方案
对我来说,这个正则表达式有效:
(http|https|ftp|mailto|file|data|irc|rtsp)(\:)(\/\/)([a-zA-Z0-9\/%+.-\/]*)\.(com|net|org|jo)\/(\w*\/)*(\w+)
如果您希望此处的 URL 的最后一部分是第 7 组,则必须捕获最后一组
我希望它有帮助
推荐阅读
- javascript - 有条件地点击 AngularJS
- c# - 如果改变起始角度和扫掠角度,如何找到中心点
- php - PHP DateTime UTC 奇怪的行为
- java - 如何在 Spring ThreadPoolTaskScheduler 中找到未来
- erlang - 了解dict的返回类型:erlang中的fetch
- image - 将图像转换为数组并在图像中再次显示
- xcode - Xcode 项目中多个目标的特定关联域
- ios - 在 UITableViewCell 内渲染 UIWebView
- php - 两个不同的域在同一个主机中有两个不同的 Laravel 项目
- javascript - 按索引对 javascript mutliarray 进行分组并获得总和和平均值