Javascript 检查字符串是否不包含URL段并与之匹配
如何检查URL字符串是否不包含以下字符串:Javascript 检查字符串是否不包含URL段并与之匹配,javascript,regex,regex-negation,Javascript,Regex,Regex Negation,如何检查URL字符串是否不包含以下字符串:test/test/posts/search/1234567,这样当我提供以下URL:test/test/1234567时,match函数将返回:[“test/test/1234567”,“test/test/,”“,“1234567”] 更新: 如果我在URL中提供/posts/search,我想在re.test(URL)函数中省略这个正则表达式 //var url=“test/test/posts/search/1234567”//期望结果:nul
test/test/posts/search/1234567
,这样当我提供以下URL:test/test/1234567
时,match
函数将返回:[“test/test/1234567”,“test/test/,”“,“1234567”]
更新:
如果我在URL中提供/posts/search
,我想在re.test(URL)
函数中省略这个正则表达式
//var url=“test/test/posts/search/1234567”//期望结果:null
var url=“test/test/1234567”;//结果:[“test/test/1234567”,“test/test/”,未定义,“1234567”]
var urlpeffix='test/test/';
var re=new RegExp(“(“+urlPrefix+”)(posts\/search\/)([0-9]+)”,“i”);
console.log(url.match(re))代码>您就快到了,只需使用?
量词将第二个捕获组设置为可选,表示0或1次出现,贪婪:
var url=“test/test/posts/search/1234567”;//结果:空
var urlpeffix='test/test/';
如果(!url.includes(“posts/search/”)){
var re=new RegExp(“(“+urlpeffix+”)(posts/search/)?([0-9]+)”,“i”);
// ^
console.log(url.match(re));
}
否则{
log(url+“包含”posts/search/“!”);
}
输出是否看起来像[“test/test/1234567”,“test/test/”,未定义,“1234567”]
?谢谢!我忘了添加,我想在test()
函数url中省略它,该函数包含posts/search/
如果很容易实现,请检查更新。我认为在这里,includes
是regex的一个很好的替代品。