假设我有以下形式的行:
int[4] height
char c
char[50] userName
char[50+foo("bar")] userSchool
如您所见,括号中的表达式是可选的。
我可以使用 Lua 解析这些字符串string.match()
吗?
以下模式适用于包含括号的行:
line = "int[4] height"
print(line:match('^(%w+)(%b[])%s+(%w+)$'))
但是是否有一种模式可以同时处理可选括号?以下不起作用:
line = "char c"
print(line:match('^(%w+)(%b[]?)%s+(%w+)$'))
可以用另一种方式编写模式来解决这个问题吗?