当字符串是数字或字母/数字时,匹配的正确形式是什么,例如,我有此代码
String regexNum = "\\d*";
String regexVar = "[a-zA-Z0-9]*";
if(valor.matches(regexNum))
{
System.out.println("It's a number");
}
if(valor.matches(regexVar))
{
System.out.println("It's a variable");
}
例如,当我输入“ SAL45”时,输出为“ It's a variable”,这很好,因此,当我输入“ 45”时,输出再次为“ It's a variable”,但我需要输出为“ It's a number” ”,我该如何解决该错误?
您的正则表达式不正确。
这是数字的条件:
这是变量的条件:
_
或字母[a-zA-Z]开头或$
_
,数字[0-9],字母[a-zA-Z],$
字符串regexNum =“ \\ d +”; 字符串regexVar =“ [a-zA-Z _ $] [a-zA-Z_ $ 0-9] *”; 如果(valor.matches(regexNum)){ System.out.println(“这是一个数字”); } 如果(valor.matches(regexVar)){ System.out.println(“这是一个变量”); }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句