在我的应用程序中,如果它大于 10(示例)字符,我需要获取链接并断开它。问题是,如果我将整个文本,例如:“这是我的网站 www.stackoverflow.com”直接发送到这个匹配器
Pattern patt = Pattern.compile("(?i)\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'\".,<>???“”‘’]))");
Matcher matcher = patt.matcher(text);
matcher.replaceAll("<a href=\"http://$1\" target=\"_blank\">$1</a>");
它将显示整个网站,而不会破坏它。
我试图做的是获得 1 美元的价值,所以我可以打破第二个,保持第一个正确。
我有另一种方法来打破字符串。
更新
我想得到的只是网站,所以我毕竟可以打破它。这对我有很大帮助。