我正在制作一个正则表达式来匹配所有有效的国际航班号以及航班代码。根据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