如何从Lua中的字符串中提取数字?

时间:2017-12-12 06:41:58

标签: regex lua

我无法在Lua中找到如何做一个简单的正则表达式。在每种正常语言中都是:

string:match( "($1,000)", "[\d]+")

返回:1000(如果你连接匹配)。

我认为string.match( "($1,000)", "%d+") )会完成这项工作,但它会返回nil或1。

我不明白。

1 个答案:

答案 0 :(得分:3)

您可以使用%D+删除string.gsub(1个或多个非数字字符)模式后面的所有匹配项:

s = "($1,000)"
res, _ = s:gsub("%D+", "")
print(res)
-- => 1000

请参阅Lua demo