Yes, you can do that with a regular expression:
^[0-9A-F]+$
Explanation:
^ 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.
To use this regular expression in Java you can for example call the matches
method on a String:
boolean isHex = s.matches("[0-9A-F]+");
Note that matches
finds only an exact match so you don’t need the start and end of line anchors in this case. See it working online: ideone
You may also want to allow both upper and lowercase A-F, in which case you can use this regular expression:
^[0-9A-Fa-f]+$