平衡支架另購的Capture比方說,我有如下形式的行:在Lua
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+)$'))
能的模式來寫的另一種方式來解決這個問題?
謝謝。我知道這個解決方案,調用match()兩次。問題是我實際上需要改變字符串('gsub()',而不是'match()';爲簡單起見,我沒有把它留在問題中),我不想第二次調用gsub()來查看第一個所做的更改。 –
@NiccoloM。爲什麼不問一個關於使用'string.gsub'解決你原來的問題的新問題? –