正则表达式通过倒数第二次出现的字符串来匹配

时间:2016-09-26 23:44:48

标签: regex

如果我有以下字符串:

hello/everyone/good/bye/world

我希望通过第二个到最后一个正斜杠来匹配所有内容:

hello/everyone/good/

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

正则表达式会做什么?谷歌搜索无济于事。

2 个答案:

答案 0 :(得分:0)

使用split而不是正则表达式,并利用"切片"。

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

打印

hello/everyone/good/

这个答案是针对python2的(你没有指定哪种语言),在其他一些语言中有相同的命令。例如,java有一个String.split()方法(为了使事情复杂化,它需要一个正则表达式)。请参阅您正在使用的语言的文档。

答案 1 :(得分:0)

也许试试这个https://regex101.com/r/bH2vI0/1

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

不确定sublime是否允许前瞻,但基本上只匹配每个word + /除了最后两个。如果您不想要数字[A-z]

_可能会更好