Javascript正则表达式根据根域匹配url
我正在尝试将URL与正则表达式模式匹配。但我被困是因为一些奇怪的行为(至少对我来说是奇怪的) 当我运行以下代码时:Javascript正则表达式根据根域匹配url,javascript,regex,Javascript,Regex,我正在尝试将URL与正则表达式模式匹配。但我被困是因为一些奇怪的行为(至少对我来说是奇怪的) 当我运行以下代码时: var url = '/home/123'; var regex = new RegExp("/", "g"); if(url.match(regex)) { console.log('aaa'); } else { console.log('bbb'); } 然后我希望url与regex/不匹配。但确实如此。 我需要一个与/和/home/123不匹配的正则表达
var url = '/home/123';
var regex = new RegExp("/", "g");
if(url.match(regex)) {
console.log('aaa');
} else {
console.log('bbb');
}
然后我希望url
与regex/
不匹配。但确实如此。
我需要一个与
/
和/home/123
不匹配的正则表达式
所以我的问题是,为什么这场比赛?如何获得所需的结果?字符串匹配,因为其中一部分包含正则表达式。如果想要精确匹配,必须锚定正则表达式
var url='/home/123';
var regex=new RegExp(“^/$”,“g”);
if(url.match(regex)){
console.log('aaa');
}否则{
console.log('bbb');
}
因为输入中存在正斜杠。是否要使用定位点:var regex=new RegExp(“^/$”,“g”)代码>?您的正则表达式归结为url.indexOf('/')!=-1
:“这个字符串是否包含一个/
?”-是的,它包含。“我需要一个与/home/123不匹配的正则表达式。”你能解释一下原因吗?噢,该死,我忘了^
和$
。这就是我需要补充的。现在/
与/home/123
不匹配。