[英]Regex: match last string up until occurrence of another string (if it occurs)
[英]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.