Да, вы можете сделать это с помощью регулярного выражения:
^[0-9A-F]+$
Объяснение:
^ Start of line. [0-9A-F] Character class: Any character in 0 to 9, or in A to F. + Quantifier: One or more of the above. $ End of line.
Чтобы использовать это регулярное выражение в Java, вы можете, например вызовите метод matches
в String:
boolean isHex = s.matches("[0-9A-F]+");
Обратите внимание, что matches
находит только точное совпадение, поэтому в этом случае вам не нужны начальные и конечные привязки строк. Посмотрите, как он работает в Интернете: ideone
Вы также можете разрешить как верхний, так и нижний регистр A-F, и в этом случае вы можете использовать это регулярное выражение:
^[0-9A-Fa-f]+$