【发布时间】:2019-02-18 08:34:24
【问题描述】:
我正在开发与航班相关的 API,我需要拆分承运人代码和我收到的代码的航班号。例如:
UA775 -> UA and 775
这个案例很简单。但是有不同类型的 IATA 和 ICAO 代码,我确定的模式是:
letter letter letter {digit}+
letter digit {digit}+
digit letter {digit}+
所以三个字母,然后是一堆数字,一个字母和一个数字,然后是一堆数字或一个数字,然后是一个字母,然后是一堆数字。在最后两种情况下,它应该像这样工作:
X3567 -> X3 and 567
5U9997 -> 5U and 9997
有没有办法在 C# 中借助正则表达式匹配来做到这一点?目前这是我的代码,缺少最后两种情况:
// e.g:
carrierAndFlightNumber = "X3567";
Regex regex = new Regex(@"([a-zA-Z]+)(\d+)");
Match result = regex.Match(carrierAndFlightNumber);
string carrier = result.Groups[1].Value;
string flightNumber = result.Groups[2].Value;
提前谢谢你。
【问题讨论】: