需要编写一个快速方法static boolean varTest(String id)
,根据以下规则,输入测试确实是一个变量:
variable :: =美元符号($)后跟一个整数,或 任何以字母开头,后跟混合字母或数字的标识符。
例如,如果没有此测试,x $或$ x都可以是var。
所以如果不是真的,我想抛出ArithmeticException
答案 0 :(得分:3)
您正在寻找正则表达式:$(\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^
。
例如:
static Pattern p = Pattern.compile("$(\\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^");
static boolean varTest(String id) {
return p.matcher(id).matches();
}