正则表达式,只能被三整除

时间:2015-05-06 07:21:33

标签: regex

我的正则表达式如下:

^([0369]|[258][0369]*[147]|[147]([0369]|[147][0369]*[258])*[258]|[258][0369]*[258]([0369]|[147][0369]*[258])*[258]|[147]([0369]|[147][0369]*[258])*[147][0369]*[147]|[258][0369]*[258]([0369]|[147][0369]*[258])*[147][0369]*[147])*$

这允许我们可以被3个数字整除,但它也允许我0,这不需要我请帮助我限制我插入0并允许我1.所以最后我的要求是它允许我们所有的多人游戏3我们也可以输入值1。

2 个答案:

答案 0 :(得分:1)

根据我的理解,您需要接受3的倍数,以及1的除外。

根据@Florian的建议,正则表达式不是这里的首选工具。但他的回答是接受所有3的非倍数,这是不正确的。

以下简单函数将执行:

bool isValid(int input)
{
    return ((0 == (input % 3)) || (1 == input));
}

答案 1 :(得分:-1)

正则表达式你想要的是什么。虽然可能,但绝对不是您想要用于此类任务的工具。

相反,请使用您正在使用的任何语言翻译

  

看到其他答案,我的代码错了!

应该很简单,我很确定几乎所有语言都可以使用%