有効なすべての国際線のフライト番号とフライト コードに一致する正規表現を作成しています。ウィキペディアによると、有効なフライト コードの形式はXX(a)NNNN(a)
、、、、X = [A-Za-z0-9]
およびa = [A-Za-z]
ですN = [0-9]
。
フライト コードと番号の両方を一致させたいので、XX(a)
and を(a)
オプションにしました。1 つ目(a)
は完全にオプションですが、存在する場合は が一致するXX
ために最初の 2 つが存在する必要があります。(a)
以下の正規表現を作りましたが、できれば短くしたいです。
^(([A-Za-z0-9]{2}([A-Za-z])?)?)([0-9]{4})(([A-Za-z]{1})?)$
(a)
数字の前後のグループなど、いくつかのグループが同じなので、短くするために、一致するグループを作成することを考えました。この正規表現をどのように短縮しますか?