Это должно работать в соответствии с требованиями, включая 0 и 1. Предостережение.
String pat = "[2-9]\\d{2}(?<!11)";
String[] data = {"123","001","212", "321", "449","811", "121", "111", "911", "099"};
for (String s : data ) {
System.out.println(s + " " + (s.matches(pat) ? "valid" : "invalid" ));
}
Печать
123 invalid
001 invalid
212 valid
321 valid
449 valid
811 invalid
121 invalid
111 invalid
911 invalid
099 invalid