检测并从字符串中提取URL?
|
这是一个简单的问题,但是我不明白。
我想检测字符串中的url,然后将其替换为较短的url。
我从stackoverflow找到了这个表达式,但是结果只是
http
Pattern p = Pattern.compile(\"\\\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]\",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(str);
boolean result = m.find();
while (result) {
for (int i = 1; i <= m.groupCount(); i++) {
String url=m.group(i);
str = str.replace(url, shorten(url));
}
result = m.find();
}
return html;
有更好的主意吗?
没有找到相关结果
已邀请:
6 个回复
癸痊醒
届甸衬丝蚕
这是使用它的示例:
悍蕾驮苇袜
例:
印刷品:
硕歌沙
我不认为regex匹配整个URL。
薄扩络拜
,而这些小组仅位于第一部分http ...附近。 我将使用(?:)将这部分设为一个非捕获组,并将整个内容放在方括号中。
艾食魄轻县