Java正则表达式

Java正则表达式,java,Java,我想将下面的if条件转换为java正则表达式。 var将作为输入,它可以是从-1,1,-2,2到-20,20的任何数字。 我正在寻找一个代码示例。任何帮助都将不胜感激。谢谢 if (var == 1 || var == -1 || var == 2 || var == -2 || var == 3 || var == -3 || var == 4 || var == -4 || var == 5 || var == -5 || var == 10 || var == -1

我想将下面的if条件转换为java正则表达式。 var将作为输入,它可以是从-1,1,-2,2到-20,20的任何数字。 我正在寻找一个代码示例。任何帮助都将不胜感激。谢谢

if (var == 1 || var == -1 || var == 2 || var == -2
    || var == 3 || var == -3 || var == 4
    || var == -4 || var == 5 || var == -5
    || var == 10 || var == -10 || var == 11
    || var == -11 || var == 12 || var == -12
    || var == 14 || var == -14 || var == 16
    || var == -16 || var == 17 || var == -17
    || var == 19 || var == -19 || var == 20
    || var == -20){


dosomething;

}

如果数字是[-20,20]范围内的整数,您可以简单地执行以下操作:

if (var >= -20 && var <= 20){
   doSomething();
}

if(var>=-20&&var我假设var是一个字符串,出于某种奇怪的原因,您确实需要一个正则表达式

if (var.matches("-?([1-9]|1[0-9]|20)")) {
  dosomething;
}

看起来您描述的是一个不相交的类别,不包括零(因为我在您原始的
if
语句中没有看到)

如果要查看[-20,0)U(0,20)之间的连续范围,则此布尔表达式将有助于:

if(var != 0 && var >= -20 && var <= 20) {
    // logic
}

if(var!=0&&var>=-20&&var关于
-2
,-
3
等呢?@arshajii-Oups抱歉。修复了。@Jongware在他发布的示例中也没有6,7,8,9等等。所以我不确定他应该排除哪些值(我们应该基于代码还是文本?)。但我希望添加零检查对OP来说是微不足道的;)不过描述中提到了这一点。我想OP很幸运,不必检查浮动磅范围:
if(var==0.000000001 | | var==0.00000002 | |……
你说的“正则表达式”是什么意思?是否要包含0?@vjdhama:它将匹配以下字符之一:
-?012
。正则表达式不“Do”数学。不,0不是一个有效的输入。我猜我在这里没有做任何数学。我的输入是int,它可以包含-1,-2,到-20,1,2..到20的任何值。我的要求是,如果输入值在给定范围内,则生成某些逻辑。我认为问题是你的标题非常容易误导(“正则表达式”)表示编程/计算机科学中非常具体的东西),而您的实际问题非常基本,我们无法真正帮助您。var是int,它可以包含-1,-2…到-20,1,2…到20之间的任何整数值。+1用于实际回答问题(通过正则表达式,这是要求的),即使这有点荒谬。哈哈