我试图匹配一个9个字符长的字符串,并且总是有数字。
我想要匹配的模式是查看字符串是全0还是全1或全2,依此类推至所有9。
有人可以帮我写这个。我只需要考虑0和9,我硬编码,它工作正常。但肯定有一种更简单的方法可以做到这一点。
有人可以帮忙吗?
答案 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次