【问题标题】:Lua: RegEx to PatternLua:正则表达式到模式
【发布时间】:2023-03-22 08:23:01
【问题描述】:

简单的问题...我需要把这个 RegEx 模式转...

"\[\"([0-9]+)\"\]"

转换成 Lua 模式。

我这样做是为了用字符串中的 [X] 替换一堆 ["X"] 行,其中 X 是从 -∞ 或 +∞ 开始的任意数字...所以这是唯一的限制。我需要将它移植到 Lua 模式,以便我可以在 String.gsub 中使用它。

Find: "\[\"([0-9]+)\"\]"

另外,我如何删除数字周围的“”?我需要一个模式。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: string lua string-matching gsub lua-patterns


    【解决方案1】:

    你可以这样试试。

    > f = "foo [\"12\"] bar"
    > x = string.gsub(f, "%[\"(%d+)\"%]", "[%1]")
    > print(f)
    foo ["12"] bar
    > print(x)
    foo [12] bar
    

    与任何数字匹配的\d 将在lua 中表示为%d

    【讨论】:

    • 我可能会建议 '%["(%d+)"%]' 来避免混淆需要转义嵌入的双引号。
    • 谢谢,效果很好。至于 Etan 的建议,我明白其中的道理,但我更喜欢 " 更好,并且转义对我来说不是一个大问题。:) 谢谢大家。
    猜你喜欢
    • 2021-05-21
    • 2018-02-07
    • 2019-01-23
    • 2017-05-14
    • 2015-12-29
    • 1970-01-01
    • 2014-08-26
    • 2020-02-07
    • 2014-05-19
    相关资源
    最近更新 更多