匹配Lua中的模式

时间:2015-02-18 22:11:28

标签: lua lua-patterns

我试图匹配一个9个字符长的字符串,并且总是有数字。

我想要匹配的模式是查看字符串是全0还是全1或全2,依此类推至所有9。

有人可以帮我写这个。我只需要考虑0和9,我硬编码,它工作正常。但肯定有一种更简单的方法可以做到这一点。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

尝试这种模式:((%d)%2%2%2%2%2%2%2%2)

正如Etan在评论中提到的,您也可以使用查询表:

allowed={ ["000000000""]=true, ["111111111""]=true, ..., ["999999999"]=true }

如果s为真,则allowed[s]会与其中一种允许的模式匹配。

答案 1 :(得分:0)

如果我理解正确,您的输入将是

111111111
222222222

这意味着您可以使用以下正则表达式来匹配它:

^(\d)\1{8}$

查看它的示例here。基本上我们只是捕获第一个数字,看它是否重复8次