怎么把字符串中的某些字符串捞出来? LUA

How do you fish out certain strings in a string? LUA

所以我想从一个看起来像这样的字符串中找出一个字符串:


local x = "define x = 2; output('Hello World')"
x:gsub("output%(PATTERN", function(c)
print(c)
end)

我基本上想找出:“output('Hello World')”但是我不明白模式是如何工作的。所以如果有人能告诉我那就太好了

也许你的例子不是最好的。如果您已经知道要查找的确切字符串,请使用该字符串作为您的模式。

假设您想知道 "output('Hello World')" 是否在 x 中,它很简单 x:find("output('Hello World')")

如果您只知道文本的结构,模式就会派上用场。假设您想知道分配给 x 的数字。

print(x:match("x = (%d+)"))

如果您不知道如何使用模式,请参阅Lua manual

如果有任何您不理解的特定模式,或者如果您不能想出一个模式来匹配特定的东西,请随时在这里提问。

编辑:

有多种方法可以获取输出参数。

print(x:match("output%((%b'')%)"))

print(x:match("output%b()"):match("%b''"))

print(x:match("output%((.+)%)"))

及其他