如果出现 3 次或更多,我需要替换最后一个斜杠。如果我们有这样的路径"/foo/bar/"
,它应该变成"/foo/bar"
. "/foo/"
但是不应该触及这样的路径。
我用转义的斜杠 ( \/
) 和量词 ( {3,}
) 进行了尝试:
/\/{3,}$/
然而,这个正则表达式只匹配紧跟在另一个之后的斜杠:"/foo/bar///"
有什么想法可以解决这个问题吗?也许有正面/负面lookahead
的?
可视化:
"/foo/" => "/foo/"
"/foo/bar/" => "/foo/bar"
"/foo/bar/baz/" => "/foo/bar/baz"
感谢Fede、Avinash Raj和Amal Murali!由于性能很重要,@Fede 是赢家:http: //jsperf.com/match-last-slash-if-there-are-at-least-nth-occurrences