Javascript 无法获取有效的正则表达式以在nodejs中工作
我试图使用下面的nodejs函数来检查字符串中是否存在特定类型的url。我单独检查了这个正则表达式,它看起来不错,但在节点中给我一个错误Javascript 无法获取有效的正则表达式以在nodejs中工作,javascript,regex,node.js,Javascript,Regex,Node.js,我试图使用下面的nodejs函数来检查字符串中是否存在特定类型的url。我单独检查了这个正则表达式,它看起来不错,但在节点中给我一个错误 var checkforURL = function(data) { var re = /((?:https?://)?www\.example\.com\/tp\/\S+\d+)/g/; return re.test(data); } 对于以下情况,这应该返回true www.exmaple.com/tp/abc/123 等等 当我试
var checkforURL = function(data) {
var re = /((?:https?://)?www\.example\.com\/tp\/\S+\d+)/g/;
return re.test(data);
}
对于以下情况,这应该返回true
- www.exmaple.com/tp/abc/123
我需要这个括号,它们将https?://括起来,以确保它可以存在0次或1次,不确定nodejs为什么不断抛出错误,有什么想法吗?您需要避开
https?://
中的前斜杠,还需要删除g
之后的最后一个/
。将字符串example
更改为exmaple
var re = /((?:https?:\/\/)?www\.exmaple\.com\/tp\/\S+\d+)/g;
上述正则表达式应与以下URL匹配
http://www.exmaple.com/tp/123
www.exmaple.com/tp/abc/123
https://www.exmaple.com/tp/123
要匹配示例
链接
var re = /((?:https?:\/\/)?www\.example\.com\/tp\/\S+\d+)/g;
如果希望同时匹配example和exmaple链接,请在字符类中指定m
和a
((?:https?:\/\/)?www\.ex[ma][ma]ple\.com\/tp\/\S+\d+)
您需要避开https?://中的前斜杠,还需要删除g之后的最后一个
/
。是示例
还是exmaple
?exmaple杀了我