Lua 中如何进行模式匹配

所以假设我在 Lua 中有以下代码:

myvara = "Box red"
myvarb = "Box red 36"

如何编写表达式来检查这两个变量是否相同,但数字每次都会更改? 也就是说,我只想检查两个变量是否是红色的箱子,但数字并不重要。

我想使用模式匹配来完成,但我不知道如何更有效地采用表达式实现。我不想使用 string.find,必须使用模式匹配。

我需要能够做到以下几点:

if myvara == myvarb(忽略箱子编号) then...

... 用模式匹配(而不是 string.find 或类似方法)。

哦,有时可能会有不同数量的单词,而数字可能会处于不同的位置。 这就是为什么我需要使用模式匹配。

谢谢。

点赞
用户1442917
用户1442917

可以在比较之前将两个字符串中的所有空格和数字都删除:

如果 ( myvara:gsub( "[%d ]", "" ) == myvarb:gsub( "[%d ]", "" ) ) then
  ....
2019-09-22 17:22:40