【发布时间】:2013-06-15 00:01:01
【问题描述】:
我是 Lua 的新手。我想解析文本像
Phase1:A B Phase2:A B Phase3:W O R D Phase4:WORD
到
Phase1 Phase2 Phase3 Phase4
A A B W O R D WORD
我用string.gmatch(s, "(%w+):(%w+)"),只能得到
Phase1 Phase2 Phase3 Phase4
A A W WORD
我怎样才能找回丢失的 B、O、R、D?
还是我需要为每个阶段编写模式?该怎么做?
【问题讨论】:
-
for k, v in s:gsub('%s*(%w+:)','\0%1'):gmatch'%z(%w+):(%Z*)' -
@Egor Skriptunoff 的解决方案效果很好。但我不知道如何将他的建议添加为答案。你能解释一下什么是'\0%1''%z'函数吗?我不明白。