首页 > 解决方案 > 无法匹配中间的零个或多个模式

问题描述

\d*在正则表达式中,您可以在字符串中使用正则表达式

"foo 123 bar"

匹配“123”

但是,在 lua 中,当您%d*在同一个字符串上使用等效模式时,您什么也得不到。只有当你使用时,你%s%d*才会得到正确的匹配。

为什么?

标签: luamatch

解决方案


要匹配Lua 正则表达式中的零个或多个数字,您可以使用表达式%d+

  • %d匹配任何数字字符。
  • +匹配 1 次或多次重复。
local str = "foo 123 bar"
print(str:match("%d+")) -- Outputs '123'.

推荐阅读