我正在製作一個正則表達式來匹配所有有效的國際航班號以及航班代碼。根據Wikipedia,有效航班代碼的格式爲XX(a)NNNN(a)
,其中X = [A-Za-z0-9]
,a = [A-Za-z]
和N = [0-9]
。縮短航班號正則表達式
由於我想匹配兩個航班代碼和數字,我做了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位數字。但是,查找官方源代碼並不容易。請去http://en.wikipedia.org/wiki/Airline_codes xx(a)n(n)(n)(n)(a) - 括號中的所有字符都是可選的 – Jason