【问题标题】:How to extract the URL from the string in java?如何从java中的字符串中提取URL?
【发布时间】:2015-02-08 13:11:07
【问题描述】:

如何从以下字符串中提取 URL。我在网上搜索了正则表达式,但它仅在 http:// 或 www 时提取。如何提取两种输入类型?

正则表达式
http://blog.houen.net/java-get-url-from-string/

案例1

bhjhrwww.rrjhttp://www.google.com

结果:

http://www.google.com

案例2

bhjhrwww.rrwww.google.com

结果:

www.google.com

【问题讨论】:

  • 发布您尝试过的正则表达式,而不是您阅读的博客。
  • 我不能这样做,因为 SO 将正则表达式字符串视为 URL 并且不允许我发布。
  • 您是否尝试将正则表达式用反引号括起来以将其标记为代码,如advanced help here中所述
  • 现实一点:bhjhrwww.rrwww.google.com 也是一个有效的 URL 标识符。您不是要从字符串中解析 url - 您正在寻找从字符串中解析 url,该字符串实际上可以被成功请求,在此示例中仅为 'www.google.com' 或 'google.com '。您无法使用正则表达式实现该结果。

标签: java regex string url


【解决方案1】:
\\(?(http://(?!.*http)|www[.](?!.*www))[-A-Za-z0-9+&@#/%?=~_()|!:,.;]+[.][-A-Za-z0-9+&@#/%=~_()|]*\b

试试这个。查看演示。

https://regex101.com/r/nL5yL3/24

【讨论】:

  • 好像你的正则表达式匹配 www.com
  • @AvinashRaj 现在不会了
  • 是的,它还将 www.com 视为有效 URL。
  • 现在,它匹配 www..com 。很难匹配 op 想要的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 2014-08-23
相关资源
最近更新 更多