gpt4 book ai didi

javascript - 在 match() 中应用两个正则表达式规则

转载 作者:行者123 更新时间:2023-11-28 18:24:23 25 4
gpt4 key购买 nike

var url = document.referrer;
var a=document.createElement('a');
a.href=url;
var path = a.pathname;

假设路径是这样的:

/cat-dog-fish/

我想删除前导斜杠和尾随斜杠(如果存在),否则什么都不做。

我可以做到这一点(删除尾部斜杠):

a.pathname.replace(/\/$/,'')

或者这个(删除前导斜杠)

a.pathname.replace(/^\//,'')

但是如果它们存在的话,我如何一次性删除它们呢?

最佳答案

/^\/|\/$/g 这样的正则表达式文字可以用来替换空字符串,或者您可以使用 /^\/([^]*)\// (匹配 /,然后是捕获斜杠之间内容的最后一个 / 之前的任何 0+ 个字符)替换为 $1:

var s = "/cat-dog-fish/";
console.log(s.replace(/^\/|\/$/g, ''));
console.log(s.replace(/^\/([^]*)\/$/, '$1'));

注意:

  • ^\/ - 匹配字符串的开头和右侧的 /
  • | - 表示OR
  • \/$ - 匹配字符串末尾的 /
  • ([^]*) - 是一个捕获组 (...),捕获 0 个或多个 (*) 任何字符作为[^]意味着不是没有

关于javascript - 在 match() 中应用两个正则表达式规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com