NodeJS中的Javascript URL Regex问题

时间:2013-03-08 21:55:12

标签: javascript regex node.js

所以我需要抓取字符串中的所有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);

现在它没有返回任何东西,而我需要它返回两个网址。我搜索了谷歌和堆栈以及很多例子,但没有一个能满足我的需求。

非常感谢所有帮助。

谢谢!

吉姆

1 个答案:

答案 0 :(得分:3)

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

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

/((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi