当我们在Lua中没有`|`运算符时如何验证这个字符串?
发布时间:2020-12-14 21:46:26 所属栏目:大数据 来源:网络整理
导读:我有以下形式的字符串: cake!apple!apple!cake!juice!apple!cake!juice!cake! 换句话说,这些字符串由三个子字符串“cake
我有以下形式的字符串:
cake!apple! apple! cake!juice!apple!cake! juice!cake! 换句话说,这些字符串由三个子字符串“cake!”,“apple!”组成.和“果汁!”. 我需要验证这些字符串.因此,使用正则表达式执行此操作的方法是: /^(apple!|juice!|cake!)*$/ 但Lua的模式没有|运算符,所以看似不能这样做. 如何在Lua中验证我的字符串? (我不关心字符串的内容:我只关心它们是否符合(验证).) 我知道编写代码来做到这一点,但我想不出一个简短的方法来做到这一点.我正在寻找一个简短的解决方案.我想知道是否有一个我不知道的优雅解决方案.有任何想法吗? 解决方法if str:gsub("%w+!",{["apple!"]="",["juice!"]="",["cake!"]=""}) == "" then --do something end 此解决方案使用表作为 使用辅助表变量可以使其更清晰: local t = {["apple!"]="",["cake!"]=""} if str:gsub("%w+!",t) == "" then --do something end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |