Попробуй это. Это Java, но выражение довольно ванильное regex
\\d{0,2}
от 0 до 2 цифр
[02468]
четное число git
$
конец строки
(?:
начало группы без захвата
String reg = "(?:X\\d{0,2}[02468].*[AB]$)|(?:Y\\d{0,2}[02468].*$)";
System.out.println("X231swiwiwiA".matches(reg)); //odd number - false
System.out.println("X232swiwiwiA".matches(reg)); // true
System.out.println("Y632swiwiwiR".matches(reg)); // true
Примечание. Двойная косая черта предназначена для выхода из строки Java sla sh и передачи ее в двигатель регулярных выражений в виде единого sla sh. Возможно, вам придется настроить один sla sh для вашего двигателя.