Javascript 在match()中应用两个正则表达式规则
假设路径是:Javascript 在match()中应用两个正则表达式规则,javascript,regex,Javascript,Regex,假设路径是: var url = document.referrer; var a=document.createElement('a'); a.href=url; var path = a.pathname; 我想删除前导斜杠和尾随斜杠,如果它们存在,否则什么也不做 我可以这样做(删除尾部斜杠): 或此(删除前导斜杠) 但是,如果两者都存在,如何在oner中同时删除它们呢? var a=“/cat-dog-fish/”; var d=a.replace(新的RegExp(“(^\/\\/$)
var url = document.referrer;
var a=document.createElement('a');
a.href=url;
var path = a.pathname;
我想删除前导斜杠和尾随斜杠,如果它们存在,否则什么也不做
我可以这样做(删除尾部斜杠):
或此(删除前导斜杠)
但是,如果两者都存在,如何在oner中同时删除它们呢?
var a=“/cat-dog-fish/”;
var d=a.replace(新的RegExp(“(^\/\\/$)”,'g'),'';
控制台日志(d)代码>
var a=“/cat-dog-fish/”;
var d=a.replace(新的RegExp(“(^\/\\/$)”,'g'),'';
控制台日志(d)
类似于/^\/\\/\/$/g的正则表达式文本可以用来替换为空字符串,或者您可以使用/^\/([^]*)\/
(匹配/
,然后任何0+字符直到最后一个/
捕获斜杠之间的内容)替换为$1
:
var s=“/cat-dog-fish/”;
console.log(s.replace(/^\/\/$/g,”);
log(s.replace(/^\/([^]*)\/$/,“$1”)
类似于/^\/\\/\/$/g的正则表达式文本可以用来替换为空字符串,或者您可以使用/^\/([^]*)\/
(匹配/
,然后任何0+字符直到最后一个/
捕获斜杠之间的内容)替换为$1
:
var s=“/cat-dog-fish/”;
console.log(s.replace(/^\/\/$/g,”);
log(s.replace(/^\/([^]*)\/$/,“$1”)
使用OR
操作符:/^\/\\/$/g
尝试了一个.pathname.replace(/^\/\\/$/,“”),但它只删除了前导斜杠?使用全局g
修饰符,使正则表达式替换所有匹配项(而不仅仅是第一个匹配项),谢谢,在使用OR
操作符之前,我应该知道:/^\/\\/$/g
尝试了一个.pathname.replace(/^\/\\/$/,“”),但它只删除了前导斜杠?使用全局g
修饰符,让正则表达式替换所有匹配项(而不仅仅是第一个匹配项),谢谢,我应该从以前就知道了
/cat-dog-fish/
a.pathname.replace(/\/$/,'')
a.pathname.replace(/^\//,'')