我不知道如何让 Lua 返回特定模式匹配的所有匹配项。
我有以下正则表达式,它可以工作并且非常基本:
.*\n
Run Code Online (Sandbox Code Playgroud)
这只是每行分割一个长字符串。
Lua 中的等价物是:
.-\n
Run Code Online (Sandbox Code Playgroud)
如果您在正则表达式网站中针对以下文本运行上述内容,它将找到三个匹配项(如果使用全局标志)。
Hello
my name is
Someone
Run Code Online (Sandbox Code Playgroud)
如果不使用全局标志,它将仅返回第一个匹配项。这是LUA的行为;就好像它没有全局开关并且只会返回第一个匹配项。
我的确切代码是:
local test = {string.match(string_variable_here, ".-\n")}
Run Code Online (Sandbox Code Playgroud)
例如,如果我在上面的测试中运行它,test将是一个只有一个项目(第一行)的表。我什至尝试使用捕获组,但结果是相同的。
我找不到一种方法让它返回所有匹配项,有谁知道这在 LUA 中是否可行?
谢谢,
编辑:我重新编辑了原来的帖子,删除了我提出的一些废话和问题。我自己设法解决了这个问题,请参阅下面的答案
我的 Docker 发生了最奇怪的事情。现在,当我将使用该命令构建的 Docker 映像DOCKER BUILD作为容器运行时,会出现错误,提示ENTRYPOINT无法找到其中的文件。
[FATAL tini (7)] exec /bin/start_vsftpd.sh failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这些图像不是我的,它们是来自 GITHUB 的 GIT 存储库,100% 有效,我过去已经运行过几次,没有出现任何问题。现在它错误地指出这些文件不存在,即使它们存在。