某些时候,我们需要从一堆字符串中,提取出URL地址。这时,正则表达式,是大家最好的选择。可是,正则表达式看着就有点晕晕。我自己也晕,很多时候,用的时候就去网上找。这次,也是从网上找的。但功能可以事先就好,至少,能从一堆字符串中提取出URL地址。至于url地址末尾带中文的,匹配不出来。这样的情况,也许只有输入文本的人知道是啥情况。又或者,url所带的中文和后边接着的字符串之间有特殊状况。比如空格。对于各种不符合url标准的字符串,我也没用测试。虽然你有 http 开头,也有.com 等,但中间有不符合标准的字符串。那就是你自己的问题了。
好吧,不说那么多了。直接贴出代码(这里是as3写的):

var str:String = "如果,这就是爱情。仿佛有痛楚。如果我晕眩,那是http://www.1314175.com因为幻觉丰盛,能量薄弱。足已支持我对你的迷恋,不够支持我们的快乐!"
var regexp:RegExp = new RegExp("(http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&amp;*+?:_/=<>]*)?", "gi");
var newStr:String = str.replace(regexp,"  <font color='#00ffff'><a href='" + str.match(regexp) +  "' target='_blank'>" + str.match(regexp) +  "</a></font>  ");
trace(newStr);

trace的结果是:

如果,这就是爱情。仿佛有痛楚。如果我晕眩,那是  <font color='#00ffff'><a href='http://www.1314175.com' target='_blank'>http://www.1314175.com</a></font>  因为幻觉丰盛,能量薄弱。足已支持我对你的迷恋,不够支持我们的快乐!

好吧,就这样结束了!