“你好.....在http://www.google.com.eg上访问我们,有关详细信息,请联系我们 http://www.myweb.com/help“
我希望通过以下链接找到并替换任何链接
谁知道怎么做?
我还有一个问题是,像stackoverflow这样的任何网站如何检测这个帖子中的链接并突出显示它们,以便任何人都可以点击它们并访问链接?
答案 0 :(得分:4)
使用 java.util.regex ,您可以通过查找与正则表达式匹配的所有内容来获取网址:https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?
。
import java.util.regex.*;
Pattern pattern = Pattern.compile("https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?", Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE);
Matcher myMatcher = pattern.matcher(myStringWithUrls);
while (myMatcher.find()) {
...
}
答案 1 :(得分:0)
我认为正则表达式太慢,无法在大型字符串中查找URL。您应该尝试更好的状态机,并且有一个名为Automaton
的好机器