【发布时间】:2016-06-20 08:23:12
【问题描述】:
我想在字符串中检测确切的域url,然后用另一个字符串更改它,最后使它在TextView 中可点击。
我想要什么:
this is sample text with one type of url mydomain.com/pin/123456. another type of url is mydomain.com/username.
好吧,我写了这个正则表达式:
([Hh][tT][tT][pP][sS]?://)?(?:www\\.)?example\\.com/?.*
([Hh][tT][tT][pP][sS]?://)?(?:www\\.)?example\\.com/pin/?.*
这个正则表达式可以检测到:
http://www.example.com
https://www.example.com
www.example.com
example.com
Hhtp://www.example.com // and all other wrong type in http
.com 之后的任何内容
问题:
1.如何检测域的结尾(带空格或点)
2.如何检测两种类型的域,一种带有/pin/,另一种没有?
3. 如何用PostLink 和mydomain.com/username 用ProfileLink 替换检测到的域,如mydomain.com/pin/123 和ProfileLink
4.我知道如何使用Linkify 使它们可点击,但如果可能的话,请向我展示为链接提供内容提供商的最佳方式,以通过适当的活动打开每个链接
【问题讨论】:
-
那你为什么不使用
Linkify? -
@pskink 怎么样?你能提供sn-p的代码吗
-
I know how to make them clickable with Linkify,如果你知道你需要什么代码? -
@pskink 问题是
regex未链接 -
您的网址总是包含 http/https 还是总是像您的示例一样?也总是 1 或 2 个 2 斜线还是可以更多?
标签: java android regex linkify