繁体   English   中英

正则表达式可以在字符串的倒数第二次出现之前进行匹配

[英]Regex to get match up through second to last occurrence of a string

如果我有以下字符串:

hello/everyone/good/bye/world

我想通过倒数第二个斜杠匹配所有内容:

hello/everyone/good/

但是斜杠的数量可能会有所不同。

正则表达式将如何执行此操作? 一直在谷歌搜索无济于事。

代替正则表达式,使用split并利用“切片”的优势。

t = "hello/everyone/good/bye/world"
ts = t.split("/")
print "/".join( ts[0:-2] ) + "/"

此打印

hello/everyone/good/

这个答案是针对python2的(您未指定哪种语言),在某些其他语言中也有等效的命令。 例如,java有一个String.split()方法(要使事情复杂化,它需要一个正则表达式)。 请查阅文档以了解所使用的语言。

也许尝试一下https://regex101.com/r/bH2vI0/1

((\w+\/)+(?!\w+\/\w+))

虽然不确定sublime是否允许先行,但基本上只匹配除最后两个之外的每个word + / 如果您不需要数字和_[Az]可能会更好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM