【问题标题】:using lua to parse code syntax?使用 lua 解析代码语法?
【发布时间】:2014-06-23 23:47:14
【问题描述】:

假设我有一个这样的字符串:

快速的 [color=brown]brown[/color] 狐狸 [color=green]jum[/color]p[color=yellow]e[/color]d 越过懒狗

有什么好的方法可以遍历它并将它们全部放入一个数组中,每次文本在 [color] 标记的范围内时,它周围都会有那个颜色标记?所以“跳跃”这个词看起来像这样:

[color=green]j[/color]
[color=green]u[/color]
[color=green]m[/color]
p
[color=yellow]e[/color]
d

其中每一行都是索引中的一个新实例。

目前我正试图通过大量解析它以我认为非常混乱的方式来做......

【问题讨论】:

    标签: string parsing syntax lua format


    【解决方案1】:
    local input_string = 'the quick [color=brown]brown[/color] fox [color=green]jum[/color]p[color=yellow]e[/color]d over the lazy dog'
    
    ;('[/color]'..input_string):gsub('(%b[])([^[]*)',
       function(tag, text)
          for c in text:gmatch'.' do
             print(tag == '[/color]' and c or tag..c..'[/color]')
          end
       end
    )
    

    【讨论】:

    • 完美运行,您能否链接到一些文档或扩展它的工作原理?
    猜你喜欢
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多