Регулярные выражения всегда кажутся простыми, вплоть до того момента, когда вы пытаетесь их использовать: -)
Этот конкретный пример можно сделать с чем-то вроде:
^[A-Z]{2}([0-9]{2,4}-)?[0-9]{2,4}$
То есть:
- 2 буквенных (прописных) символа.
- необязательная последовательность от 2 до 4 цифр и дефис.
- обязательная последовательность из 2-4 цифр.
- начальный и конечный маркеры.
Последний, BT1-2535
, кстати, не соответствует вашей текстовой спецификацииу него есть только одна цифра перед дефисом.Я предполагаю, что это была опечатка.Вам также придется изменить бит символа, чтобы использовать [A-Za-z]
, если вы также хотите разрешить использование строчных букв.