NodeJS中的URL正则表达式问题

Javascript URL Regex Issue in NodeJS

本文关键字:问题 正则表达式 URL 中的 NodeJS      更新时间:2023-09-26

所以我需要在字符串中抓取所有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。我搜索了google和stack,还有很多例子,但是没有一个能满足我的需要。

非常感谢所有的帮助。

谢谢!

吉姆

您的'字符被解析为字符串转义,而不是在正则表达式中结束。

相反,您应该使用正则表达式字面量:
/((ftp|http|https):'/'/)?('w+:{0,1}'w*@)?('S+)(:[0-9]+)?('/|'/(['w#!:.?+=&%@!'-'/]))?/gi