gpt4 book ai didi

javascript - 如果至少出现 n 次,则匹配最后一个斜杠

转载 作者:行者123 更新时间:2023-11-30 10:14:36 26 4
gpt4 key购买 nike

如果出现 3 次或更多次,我需要替换最后一个斜线。如果我们有这样的路径 "/foo/bar/",它应该变成 "/foo/bar"。但是像 "/foo/" 这样的路径不应该被触及。

我尝试使用转义斜杠 (\/) 和量词 ({3,}):

/\/{3,}$/

但是,此正则表达式仅匹配紧跟在另一个斜杠之后的斜杠:"/foo/bar///"

有什么办法可以解决这个问题吗?也许有一个正/负前瞻

http://www.regexr.com/393pm

可视化:

"/foo/"         => "/foo/"
"/foo/bar/" => "/foo/bar"
"/foo/bar/baz/" => "/foo/bar/baz"

感谢 FedeAvinash RajAmal Murali !由于性能很重要,@Fede 是赢家:http://jsperf.com/match-last-slash-if-there-are-at-least-nth-occurrences

最佳答案

您可以使用以下正则表达式:

\/.*?\/.*(\/)

这里有工作示例:

http://regex101.com/r/xT3pN1/2

Regular expression visualization

Debuggex Demo

如果你想保留最后一个斜杠以外的内容,你可以使用这个正则表达式并将第一组引用为 \1 :

(\/.*?\/.*)(\/)

用替换检查工作示例:

http://regex101.com/r/xT3pN1/3

关于javascript - 如果至少出现 n 次,则匹配最后一个斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559659/

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