0

所以我需要抓取一个字符串中的所有 url 并将它们返回到一个数组中。

这是我到目前为止所拥有的:

        var comment = 'Check out www.google.com and http://bing.com';
        var regexp = new RegExp('((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?', 'gi');
        var urls = comment.match(regexp);

现在它没有返回任何东西,而我需要它返回两个 url。我搜索了谷歌和堆栈以及很多示例,但没有一个适合我的需要。

非常感谢所有帮助。

谢谢!

吉姆

4

1 回答 1

3

您的\字符被解析为字符串转义,并且不会出现在正则表达式中。

相反,您应该使用正则表达式文字:

/((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi
于 2013-03-08T21:59:42.540 回答