Я делаю регулярное выражение для соответствия всем действительным международным номерам рейса, а также полетным кодам. Согласно Wikipedia, действительный код полета в формате XX(a)NNNN(a)
, где X = [A-Za-z0-9]
, a = [A-Za-z]
и N = [0-9]
.Сокращение номера рейса regex
Поскольку я хочу соответствовать как полетным кодам, так и цифрам, я сделал XX(a)
и (a)
опционально. Первый (a)
является полностью необязательным, но первые два XX
должны присутствовать для (a)
, чтобы соответствовать, если они есть. Я сделал следующее регулярное выражение, но я хочу, если это возможно, сократить его.
^(([A-Za-z0-9]{2}([A-Za-z])?)?)([0-9]{4})(([A-Za-z]{1})?)$
Я думал о том, чтобы соответствующие группы, так как некоторые группы, такие как (a)
групп до и после цифры одинаковы, чтобы сократить его. Как бы вы сократили это регулярное выражение?
На каком языке/среде регулярных выражений вы используете это? – Jerry
И Javascript, и Ruby. – josh
Страница Википедии больше не дает этот формат (и я подозреваю, что это неправильно, так как номера рейсов/коды не нуждаются в их числовой части для 4 цифр). go http://en.wikipedia.org/wiki/Airline_codes xx (a) n (n) (n) (n) (a) - все символы в скобках являются необязательными. – Jason