所以我需要抓取字符串中的所有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);
现在它没有返回任何东西,而我需要它返回两个网址。我搜索了谷歌和堆栈以及很多例子,但没有一个能满足我的需求。
非常感谢所有帮助。
谢谢!
吉姆
答案 0 :(得分:3)
您的\
个字符被解析为字符串转义,并且不会在正则表达式中结束。
相反,您应该使用正则表达式文字:
/((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi