Lua中剥离异常信息中的文件名和行号

在Lua中,我遇到了剥离异常信息中所需要的参数的问题。 我收到的异常信息类似于以下内容:

/path/anotherpath/class.lua:929: attempt to index field '?' (a nil value)

我想要做的是提取类名(即在 ".lua" 前面的单词)和行号(在第一个 ":" 后面的数字) 是否有人可以帮助我找到需要在 string.match 中使用的模式?

点赞
用户1580216
用户1580216

为了提供一个稍微完整一些的回答,这里给出Egor给出的代码(需要一个.lua文件扩展名):

value = "/path/anotherpath/class.lua:929: attempt to index field '?' (a nil value)"
filename, linenumstring = value:match(".-([^/:\\]-)%.lua:(%d+):")
linenum = tonumber(linenumstring)
2016-02-04 21:00:01