Как насчет
\d{1,4}[wW](\d|([0-4]\d)|(5[0123]))
? (Подходяще сбежал, конечно).
Пояснение:
- 1-4 цифры
- W или W
- Либо одна цифра ...
- ... или две цифры, первая ли цифра 0-4, а вторая любая цифра
- ... или 5, за которыми следуют 0, 1, 2 или 3
Возможно, что некоторая группировка в альтернативной конструкции не нужна - это тоже может сработать:
\d{1,4}[wW](\d|[0-4]\d|5[0123])
... проверить это, чтобы увидеть.
Это полностью не проверено, заметьте ... юнит-тесты - ваш друг, а также тщательное изучение.
Используйте ^
в начале и $
в конце, чтобы заставить регулярное выражение соответствовать всей строке, например,
^\d{1,4}[wW](\d|[0-4]\d|5[0123])$