Java also supports many POSIX character classes for matching ASCII text. Here is the list:
POSIX Character Class | Meaning | Character Class |
p{ASCII} | All ASCII characters | [x00-x7F] |
p{Digit} | Any digit | [0-9] |
p{Lower} | Lowercase alphabets | [a-z] |
p{Upper} | Uppercase alphabets | [A-Z] |
p{Alpha} | Any alphabet | [p{Lower}p{Upper}] |
p{Alnum} | Any alpha-numeric character | [p{Lower}p{Upper}p{Digit}] |
p{Punct} | A punctuation character | [!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~] |
p{Blank} | Space or tab | [ ] |
p{Space} | A whitespace character | [ x0Bf ] |
p{Graph} | A visible ASCII character | [p{Alnum}p{Punct}] |
p{Print} | A printable character | [p{Graph}x20] |
p{Cntrl} | A control character | [x00-x1Fx7F] |
p{XDigit} | A hexadecimal digit | [0-9a-fA-F] |
Java also supports four additional predefined character classes based on the java.lang.Character methods:
Class Name | Implementing Method |
p{javaLowerCase} | Equivalent to java.lang.Character.isLowerCase() |
p{javaUpperCase} | Equivalent to java.lang.Character.isUpperCase() |
p{javaWhitespace} | Equivalent to java.lang.Character.isWhitespace() |
p{javaMirrored} | Equivalent to java.lang.Character.isMirrored() |