Lua: 寻找两个字符串之间的字符串

local code = [[
    print("this is a trap")
    asd("XDasdsadasdasd")
    print("this is a trap")
]]
print("\n\n\n\n\n")
print(string.match(code, 'asd(.*)'))

我做了这个但问题是它还会返回它下面的 print。它会返回 asd("XDasdsadasdasd") 下面的所有内容,但我只想要 asd("XDasdsadasdasd") 内部的内容返回,即 "XDasdsadasdasd"。

点赞
用户107090
用户107090

将下面翻译成中文并且保留原本的 markdown 格式,

括号在 Lua 模式中是特殊字符。您需要对它们进行转义。此外,您需要在第一个右括号停止。请参阅以下代码:

print(string.match(code, 'asd%(.-%)'))

如果您只想要 asd(...) 中的内容,请使用以下代码

print(string.match(code, 'asd%((.-)%)'))
2020-12-23 10:11:06