[英]Lua Parse After Match
使用Lua 5.3,我試圖解析一個看起來像這樣的字符串。
a=data0
b=data
c=data
a=data1
b=data
c=data
a=data2
...
我想在'a = data1'發生后解析'b = data&c = data'。 我知道我可以通過執行string.find(exampleString, 'a=data1')
,這將給我開始/結束位置,並且我知道之后從哪里開始解析b,但是我不知道'data'多長時間會在那之后,所以我不知道從哪里開始解析“ c”? 無論如何,我只能解析下一種線型的東西嗎? 我還應該如何解決呢?
知道之后從哪里開始解析b,但是我不知道之后的“數據”將持續多久,所以我不知道從哪里開始解析“ c”? 無論如何,我只能解析下一種線型的東西嗎?
是的,只能匹配EOL字符:
for letter, data in s:gmatch('(%w)=(.-)\n') do
print(letter,data)
end
.-
= 0個或更多字符,盡可能少
\\n
= EOL字符
括號捕獲了我們希望gmatch返回的部分模式。
您也可以說([^\\n]*)
,表示0個或多個字符,而不是換行符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.