当在字符串的开头找到3个准确的单词中的1个时,我需要一个Lua模式进行匹配,但是我只能在线找到解决方案以显示如何与字符类型进行匹配,即它以数字开头还是标点符号。
例如,以下字符串应与模式匹配:
app-form-control
showExtraField
For someone else
app-form-control
我们可以假设第一个单词是“玩家”,“目标”或“敌人”,因此如果在字符串中仅找到其中一个,我可以创建一个模式将它们组合在一起并进行匹配吗?文本的其余部分在“。”之后。可以是任何东西。
我想出了这种模式,但是它有很多问题:
"player.position"
第一部分可以匹配方括号之间包含的任何字符序列,例如,与此模式一起使用的"player.style"
将返回"target.width"
,因为"enemy.height"
,local pattern = "[player target enemy]*%..+";
,在该模式的方括号之间可以找到"bannana_target_apple.position"
和"apple.position"
。
感谢您提供的任何帮助。
答案 0 :(得分:1)
在字符串的开头找到3个准确单词中的1个时匹配的lua模式:
if ({player=0, target=0, enemy=0})[your_string:match"^(%w+)%."] then
...
end