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(/^\//,'')