根据
the docs,所有Lua重复运算符仅适用于单个字符,因此您可以匹配
string.match('123','1?(%d+)') -- returns 23
但无法匹配多字符字符串:
string.match('123','(12)?(%d+)') -- want this to return 3
文档说这可能通过“多种模式和自定义逻辑”,但我不知道这意味着什么.有人能提供一种模式匹配的方法吗?基本上,12应该可选地匹配全有或全无,并返回数字串的其余部分.