航空公司指示符包含两个字母数字字符(英文字母或数字中的任何字母),后跟可选字母。航班号由1到4个数字字符(数字)和一个可选的单字母操作后缀组成。所有字符都是大写的。
到目前为止这是我的正则表达式:
(?<!([A-Z0-9]))(([A-Z]{2}|[A-Z]\\d|\\d[A-Z])\\s?\\d{3,4})(?:\\D)
这不适用于以下输出:
IEL2
9AI0923
感谢任何帮助。谢谢。
答案 0 :(得分:5)
根据您的描述,您可以使用此正则表达式:
^[A-Z\d]{2}[A-Z]?\d{1,4}[A-Z]?$
没有必要使用任何lookbehind或lookahead。
在Java中使用:
final String re = "^[A-Z\\d]{2}[A-Z]?\\d{1,4}[A-Z]?$";