16 進数の電卓を作成しようとしていますが、regex
.
0-9
基本的に、文字列に、A-E
、および特殊文字のみを受け入れるようにしたい+-*_
正規表現をどのように変更してもコードは常に false を返し、アスタリスクを追加するとPatternSyntaxException
エラーが発生します。
public static void main(String[] args) {
String input = "1A_16+2B_16-3C_16*4D_16";
String regex = "[0-9A-E+-_]";
System.out.println(input.matches(regex));
}
また、正規表現の一部として追加するたびに、次の*
エラーが表示されます。
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal character range near index 9
[0-9A-E+-*_]+
^