正则表达式查找文本块中的URL(Javascript)

The*_*des 2 javascript regex dom

我需要一个Javascript正则表达式来扫描纯文本块并返回带有URL作为链接的文本.

这就是我所拥有的:

findLinks: function(s) {
          var hlink = /\s(ht|f)tp:\/\/([^ \,\;\:\!\)\(\"\'\\f\n\r\t\v])+/g;
          return (s.replace(hlink, function($0, $1, $2) {
              s = $0.substring(1, $0.length);
              while (s.length > 0 && s.charAt(s.length - 1) == '.') s = s.substring(0, s.length - 1);

              return ' ' + s + '';
          }));
      }

问题是它只会匹配http://www.google.com 而不是google.com/adsense

我怎么能完成这两个?

小智 6

我一直用这个作为参考.这家伙有8个你应该知道的正则表达式.

http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/

以下是他用来查找URL的内容

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ 
Run Code Online (Sandbox Code Playgroud)

他还打破了每个部分的作用.学习正则表达式非常有用,而不仅仅是找到一个你不理解的原因的答案.