lua - 无法匹配中间的零个或多个模式
问题描述
\d*
在正则表达式中,您可以在字符串中使用正则表达式
"foo 123 bar"
匹配“123”
但是,在 lua 中,当您%d*
在同一个字符串上使用等效模式时,您什么也得不到。只有当你使用时,你%s%d*
才会得到正确的匹配。
为什么?
解决方案
要匹配Lua 正则表达式中的零个或多个数字,您可以使用表达式%d+
。
%d
匹配任何数字字符。+
匹配 1 次或多次重复。
local str = "foo 123 bar"
print(str:match("%d+")) -- Outputs '123'.