Lua: ANSI 转义模式

Lua: ANSI escapes pattern

我正在为 Lua 编写日志记录库,它实际上类似于一些 npm 模块(如日志更新、粉笔等)的重写和捆绑。我想获得字符串的真实宽度,所以我需要从中去除 ANSI 转义码。我找到了提供 regexp for it 的 npm 模块。但我不明白如何通过 Lua 模式匹配 Lua 中的这些字符。能帮我写个pattern吗?

text = string.gsub(text, "[5][][()#;?%d]*[A-PRZcf-ntqry=><~]", "")

感谢Egor Skriptunoff