簡體   English   中英

賽后Lua Parse

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM