重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下如何实现SITA报文解码匹配的正则表达式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为西湖企业提供专业的网站建设、成都网站建设,西湖网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
SITA报文解码匹配的正则表达式
一、SITA报文
ZCZC GRD0226 260108
QU TYNZPCA
.
TYNTZ8X TYNZPCA
.XMNUOMF 260107
PLN 27MAR
1) MF8155 B6483 ILS(8) JJN2340(26MAR) 0120NKG
2) MF8155 B6483 ILS(8) NKG0220 0425TYN
3) MF8156 B6483 ILS(8) TYN0525 0735NKG
4) MF8156 B6483 ILS(8) NKG0900 1050JJN
SI: A/C CHG
=
NNNN
二、查询fdoagent的日志:
[N][FDOAGENT::HST][03-26 01:07:49]>>>Receive NetObj FDPTEL_AFTNMESSAGE FinID = 202003260010226GRD
//收到冠字GRD/流水0226的报文
[N][FDOAGENT::HST][03-26 01:07:49]>>>[OnSITA2UpdatePlan]:: header.typestr=PLN!
//识别为SITA格式PLN报
[N][FDOAGENT::HST][03-26 01:07:49]>>>RegularExpesstionID = 139, Modify regnum = B6483 : acid = CXA8155, executedate = 20200327, etd = 1020, depad = ZSNJ, arrad = ZBYN
//使用139号正则表达式分组捕获提取需要的内容[N][FDOAGENT::HST][03-26 01:07:49]>>>PLN SQL:select * from PLAN_ACTIVE where ETD >= '202003270420' and ETD <= '202003271620' and DEPAD = 'ZSNJ' and ARRAD = 'ZBYN' and CALLSIGN = 'CXA8155' and VALID = 1
[N][FDOAGENT::HST][03-26 01:07:49]>>>PLN SQL:update PLAN_ACTIVE set REGNUM = 'B6483', STD='202003271020', MODIFIER = 'FAG' where ID = '202003271020CXA8155ZSNJZBYN' and VALID = 1
//数据库查询得到计划的数据库ID:202003271020CXA8155ZSNJZBYN,update表 PLAN_ACTIVE计划。
[N][FDOAGENT::HST][03-26 01:07:49]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#U$#202003271020CXA8155ZSNJZBYN$#
//UDP方式 通知FDO计划CXA8155有变化
[N][FDOAGENT::HST][03-26 01:07:50]>>>SQL:insert into TEL_RCV (ID, TELCSN, TELTYPE, SUBTYPE, GRADE,SNDADDR, RCVADDR, ERROR, TEXT, INDATE, ERRORREASON, ACTIVEID, ACID, ADEP, ADES, MESSAGE, SITAINFO) values (......)
//将收到的报文写入数据库 TEL_RCV
[N][FDOAGENT::HST][03-26 01:07:50]>>>SndFDOudp:$#NOTICE$#FAG$#TEL_RCV$#I$#202003260010226GRD$#
//UDP方式通知FDO计划报文有变化
三、在regularexp.xml中定位以下内容:
第二个航班号(此为特殊处理那种两个航班号之间隔着一些说明信息,比如CZ6002 SVO-URC CZ6907这种格式, 一般格式上没有,一般不填写)
第一个航班的起飞机场对应的第几个括号(整数)
四、YART工具RegexTester.exe
——A tool to write and test regular expressions, generate VB/C# code, and compile assemblies. RegexOptions.Singleline feature added by deerchao.
设置: Results---->Report;Command-->Split然后执行Run
结果报告:
[ 0]: ZCZC GRD0226 260108
QU TYNZPCA
.
TYNTZ8X TYNZPCA
.XMNUOMF 260107
PLN 27MAR
1)
[ 1]: MF8155
[ 2]: B6483
[ 3]: JJN
[ 4]: 2340
[ 5]: (26MAR)
[ 6]: 26MAR
[ 7]: NKG
[ 8]: 2)
[ 9]: MF8155
[ 10]: B6483
[ 11]: NKG
[ 12]: 0220
[ 13]: TYN
[ 14]: 3)
[ 15]: MF8156
[ 16]: B6483
[ 17]: TYN
[ 18]: 0525
[ 19]: NKG
[ 20]: 4)
[ 21]: MF8156
[ 22]: B6483
[ 23]: NKG
[ 24]: 0900
[ 25]: JJN
[ 26]: SI: A/C CHG
=
NNNN
五、RegexBuddy(选择语言C#)显示的分组捕获内容(对每一条计划捕获的分组重新从1开始编号)
正则表达式:
\n LF或ASCII中的0x0A(10)
\r CR或ASCII中的0x0D(13)
\b
:匹配单词边界处的空字符
以上是“如何实现SITA报文解码匹配的正则表达式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!