仅使用模式匹配提取文件名

use*_*657 2 string lua pattern-matching lua-patterns

是否可以使用string.match并返回捕获,直到最后一个.字符停止在扩展部分?

Yu *_*Hao 5

local str = "filename.lua.txt"
local cap = str:match("(.+)%..+")
print(cap)
Run Code Online (Sandbox Code Playgroud)

输出: filename.lua

这种模式的关键是贪婪+%.用来表示文字.