I’m assuming you want ASCII letters and digits, but not Thai digits, Arabic letters and the like.
AANNNis(?i)^[a-z]{2}[0-9]{3}$ANEEis(?i)^[a-z][0-9][a-z0-9]{2}$
Explanation
- The
^anchor asserts that we are at the beginning of the string [a-z]is what’s called a character class. It allows any chars betweenaandz.- In a character class we can include several ranges, that’s why the
Eis[a-z0-9] - Normally for
Ayou would have to say something like[a-zA-Z], but the(?i)flag makes it case-insensitive {2}is a quantifier that means “match the previous expression twice- The
$anchor asserts that we are at the end of the string
How to Use
In Java, you can do something like:
if (subjectString.matches("(?i)^[a-z]{2}[0-9]{3}$")) {
// It matched!
}
else { // nah, it didn't match... }
Regular Expressions are Fun! I highly recommend you go learn from one of these resources.
Resources
- Regex FAQ on Stack Overflow.
- Character Classes
- Mastering Regular Expressions, 3rd Ed
- The Regular Expressions Cookbook, 2nd Ed
5
solved Regex patterns for AANNN and ANEE formats [closed]