java - 如何检测文本中的链接?

标签 java pattern-matching

大家好 我有一段文本可能包含如下链接:

“你好.....请访问我们http://www.google.com.eg,如需了解更多信息,请联系我们 http://www.myweb.com/help "

我想用以下链接查找并替换任何链接

有人知道怎么做吗?

我还有一个问题是,像 stackoverflow 这样的网站如何检测帖子中的链接并突出显示它们,以便任何人都可以单击它们并访问该链接?

最佳答案

使用 java.util.regex,您可以通过查找与正则表达式匹配的所有内容来获取 URL: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()) {
    ...
}

关于java - 如何检测文本中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768215/

相关文章:

javascript - 当字符串包含 2 个非连续的正斜杠(负向前瞻)时,正则表达式返回 false

java - 安装WALA

java - 计算代码的 BigO

java - 安卓 Java : Add absolute positioned view on screen

Java 模式匹配器错误匹配的子字符串

regex - Perl:无法从文件中获取正确的匹配项

java - 比较所有模型对象

java - XMLHttpRequest 错误 请求的资源上不存在 'Access-Control-Allow-Origin' header

c# - 组合空检查和模式匹配的 'if' 语句时出错

typescript - Typescript 中子类的模式匹配