【问题标题】:How to get a particular word/string in lua regex如何在 lua 正则表达式中获取特定的单词/字符串
【发布时间】:2018-05-10 15:44:36
【问题描述】:

我在获取字符串时遇到问题。 这是我的代码:

conf = "option fn_o 'Operator'"
print(conf)
local s, e, pa = string.find(conf, "\b(?!option|fn_o)\b\w+")
print(s, e, pa)

我只想得到一个操作员。在 Javascript 中,该正则表达式运行良好,但在 Lua 中却不行。我认为没有问题,因为 Lua 是基于 json 的,所以它类似于 javascript。有什么问题吗?

【问题讨论】:

  • 嗯,Lua 没有正则表达式支持,它只有 Lua 模式。另请参阅lua-users.org/wiki/JsonModules
  • Lua 不是基于 json。
  • 坦率地说,我对“Lua 基于 JSON”的评论感到有点生气。 Javascript 的部分灵感来自 Lua。

标签: json regex string lua luci


【解决方案1】:

Lua 不支持开箱即用的完整正则表达式,但有一些库支持。

Lua 包含模式,足以满足您的任务。

此代码获取单引号内的字符串:

print(string.match(conf, "'(.-)'"))

模式如下:找到一个单引号并捕获所​​有内容,直到下一个单引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2022-08-02
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多