我要檢查一個字符串只包含字母,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