Lua - 嵌套的 if 语句

我正在使用 LUA 检查文件夹中多个文件名的有效性。

我可以将文件名作为变量(定义为 a.message)传递,并且需要该脚本运行所有正则表达式模式,如果没有匹配任何模式,则打印"我们需要一个报警器"。

a = alarm.get("GF91908920-49330")

   if regexp(a.message,"/CCF_[0-9]{6}_[0-9]{2}.csv/") then

     if regexp(a.message,"/Issues_[0-9]{4}-[0-9]{2}-[0-9]{2}.csv/") then

        if regexp(a.message,"/POL_Operator_[0-9]{6}_[0-9]{2}.csv/") then

        else print("We need an alarm - ", a.message)

end
end
end

因此,如果变量匹配正则表达式模式之一,则结束。如果没有,则继续向前并检查是否与任何其他模式匹配,如果找到匹配,则再次结束。

如果在任何正则表达式中没有找到匹配项,则打印"我们需要一个报警器"。

希望这已经足够清楚了。

谢谢。

点赞
用户4567755
用户4567755

你所描述的是逻辑或,也被称为 OR。请参阅Wikipedia文章Programming in Lua 3.3

a = alarm.get("GF91908920-49330")

if regexp(a.message, "/CCF_[0-9]{6}_[0-9]{2}.csv/") or
   regexp(a.message, "/Issues_[0-9]{4}-[0-9]{2}-[0-9]{2}.csv/") or
   regexp(a.message, "/POL_Operator_[0-9]{6}_[0-9]{2}.csv/") then
       -- 做些什么
else
   print("我们需要一个警报 - ", a.message)
end

假设你已经实现了 regexp,那么这就是它。如果没有,在Lua中有可用的模式。您可以在Programming in Lua 20.2中了解它们。

我强烈建议在提出问题之前学习基础知识并进行至少最少量的研究。Programming in Lua 可在网上使用,这是开始学习Lua的好方法。

2019-05-08 13:38:26