任何人都可以建议如何改善下面的正则表达式,以轻松转换纯文本超链接到java超链接在java中?如何将纯文本超链接转换为java中的超链接?
message = message.replaceAll("(?:https?|http?)://[\\w/%.\\-?&=!#]+(?!.*\\[/)",
"$0");
其实我想知道是否有可能只是检查是否只是转换与HTTP或HTTPS一起发现与追加文本的任何文本没有间距,而不是检查那些特殊字符。
我看到一些网站textareas,可以很容易地将纯文本超链接转换为html超链接。但我一直在研究stackoverflow,并没有真正找到任何关于这个问题的完整答案。
我希望Java常规表达式能够自动检测链接并将它们转换为可点击的html超链接。
|http://naishe.blogspot.com|
|http://tw.com/#!/someTEXTs|
|http://ts123t1.rapi.com/#!download|13321|1313|fairy_tale.mp4|
|http://www.google.com|
|https://www.google.com|
|google.com|
|google.com|
|google.com/test|
|123.com/test|
|ex-ample.com|
|http://ex-ample.com/test-url_chars?param1=val1&;par2=val+with%20spaces|
https://www.google.com.sg/#hl=en&output=search&sclient=psy-ab&q=test&oq=&aq=&aqi=&aql=&gs_sm=&gs_upl=&gs_l=&psj=1&fp=1&biw=1366&bih=638&bav=on.2,or.r_ gc.r_pw.r_qf.,cf.osb&cad=b
管道('|')是链路定义的一部分吗?如果不是的话,任何程序应该如何知道“google.com”将是一个链接而不仅仅是一些文本,例如一个关键左右? - 你把这些转换成html链接意味着什么?你的意思是'http://www.google.com - >http://www.google.com'?如果是这样,除了检测链接还有问题在哪里? – Thomas 2012-03-22 15:24:15
好吧,例如考虑我的问题中的代码文本。它们可以是用户输入的文本的一部分。意思是以http或https开头的文本内容应自动转换为 html格式的超链接。 – dfdf 2012-03-22 15:31:02