次の形式の行があるとします。
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+)$'))
これを解決するためにパターンを別の方法で書くことはできますか?