自定义正则表达式识别textview中的URL

934 阅读1分钟

1.

xml中配置识别出来的url颜色

<TextView
android:textColorLink="@color/color_F51E55"

2.

代码中设置URL,匹配规则

mContent.setText(str);

    Pattern p = Pattern.compile("((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)", Pattern.CASE_INSENSITIVE);

    Linkify.addLinks(mContent, p, "");

结果:

textView能以指定颜色显示出url来并且点击可跳转到浏览器打开连接