0

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+-*_]+
         ^
4

3 に答える 3