如何在 lua 正则表达式中获取特定的单词/字符串

我有一个获取字符串的问题。 这是我的代码:

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

我想要获取一个运算符。在 Javascript 中,这个正则表达式很好用,但在 Lua 中不起作用。我认为这里没有问题,因为 Lua 是基于 json 的,所以它与 javascript 类似。有什么问题吗?

点赞
用户107090
用户107090

Lua 并不支持完整的正则表达式,但是有些库支持。

Lua 包含 _patterns_,足以完成你的任务。

以下代码以单引号内的字符串为例:

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

这个模式表示:查找一个单引号,并捕获直到下一个单引号的所有内容。

2017-11-27 12:43:58