如何在Lua中删除最后一个匹配字符之前的所有字符

我对Lua的模式匹配有些困惑。我有一个用于记录使用MPV播放的视频历史的脚本,但是我不需要完整的路径,只需要文件名就足够了,所以我想删除最后一个/字符之前的所有内容。在Python中,我会使用简单的

filename = re.sub(r'.*/', '', path)

但是在Lua的模式匹配中,我失败了。怎么做呢?

带有理想输出的示例输入:

>>> path = "/some/path/to/file.mkv"
>>> filename = re.sub(r'.*/', '', path)
>>> filename
'file.mkv'
点赞
用户9280175
用户9280175

似乎我已经自己想明白了,嗯。使用了如下的模式:

path = "/path/to/some/file"
filename = path:gsub(".*/", "")

现在 filename 只包含 "file"。

编辑:如建议所说,我将 path:gsub("(.*).*/",'') 更改为 path:gsub(".*/", ""),因为它具有更清晰易读的语法。

2018-12-18 02:23:51