【发布时间】:2014-11-21 20:42:40
【问题描述】:
我有一个预定义的代码,例如"12-345-6789",并希望将第一个和最后一个部分与 Lua 模式匹配,例如“12-6789”。排除第二个数字集和连字符应该可以工作,但我无法通过模式或如果可能的话。
我知道我可以像这样单独捕捉每一个
code = "12-345-6789"
first, middle, last = string.match(code, "(%d+)-(%d+)-(%d+)")
并使用它,但我需要重写大量代码。理想情况下,我希望获取当前的模式匹配表并将其添加到 string.match
lcPart = { "^(%d+)", "^(%d+%-%d+)", "(%d+)$", ?new pattern here? }
code = "12-345-6789"
newCode = string.match(code, lcPart[4])
【问题讨论】:
-
你能列出你想要匹配的可接受的字符串吗?
标签: string lua lua-patterns