我要检查一个字符串只包含字母,a-zA-Z
,数字0-9
,和运营商(+=-*/^)
检查字符串是否只包含指定的字符
例如,下面的表达式是允许的:3 + 5(x^2)
对于例如,以下表达式将允许使用而不是:3 $+ 5(x^2)
我会使用matches函数来执行此操作吗?
我想:
// contains only operators, numbers, or letters
if(!exp.matches("[(+=-*/^)a-zA-Z0-9]")) {
return false;
}
我也试图逃避星号,但没有奏效。
'='和'*'之间的短划线需要出现在字符类的末尾。 – dasblinkenlight
@dasblinkenlight或者被转义,这对于将来编辑正则表达式可能不太容易出错。 – Andreas
非常感谢你! – defoification