千家信息网

如何实现SITA报文解码匹配的正则表达式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下如何实现SITA报文解码匹配的正则表达式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SITA报文解码匹
千家信息网最后更新 2026年11月03日如何实现SITA报文解码匹配的正则表达式

小编给大家分享一下如何实现SITA报文解码匹配的正则表达式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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中定位以下内容:

\b(\w{2}\d{2,4}[A-Z]?)[ ]+(\w{2,6})[ ]+ILS\(.+?\)[ ]+([A-Z]{3})(\d{4})(\((\d{2}[A-Z]{3})\))?[ ]+\d{4}([A-Z]{3})\s*[\r]?\n 正则表达式(必填)

139 正则表达式的编号

MODIFY 操作类型:CNL为取消航班,MODIFY为更改机号(必填)

false 是否为连飞: true, false(必填)

在是连飞的情况,才填写,只能填写2或者4(连飞为true时必填)

false 正则表示式是否匹配多行:true,false(必填)

1 [ 1]: MF8155航班号对应的第几个括号(整数)

2 [ 2]: B6483 机号对应的第几个括号(整数)

第二个航班号(此为特殊处理那种两个航班号之间隔着一些说明信息,比如CZ6002 SVO-URC CZ6907这种格式, 一般格式上没有,一般不填写)

3 [ 3]: JJN

第一个航班的起飞机场对应的第几个括号(整数)

4 [ 4]: 2340第一个航班的预计起飞时间对应的第几个括号(整数)

7[ 7]: NKG 第一个航班的降落机场对应的第几个括号(整数)

6[ 6]: 26MAR日期对应的第几个括号(整数)(若表达式带有日期,此项必填)

四、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报文解码匹配的正则表达式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

正则 表达式 报文 航班 括号 整数 内容 数据 数据库 格式 篇文章 航班号 分组 方式 日期 机场 变化 查询 特殊 不怎么 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 广州淘业互联网络科技 科技互联网龙头 科技和互联网公司 互联网金融 科技金融 科技互联网公司logo 互联网科技素材视频竖屏 四个字互联网科技公司取名 蓝色互联网科技 温州喔噻互联网科技有限公司 崇明区互联网教育科技诚信经营 玉溪互联网科技怎么选 恒生互联网科技指数跳水 畅思互联网科技 互联网科技和法律行业 半导体是互联网高科技吗 2021世界互联网领先科技成果发布 互联网界的黑科技 美国五大互联网科技公司市值多少 互联网领先科技成果宣传视频 云信互联网科技有限公司 厦门中拓互联网络科技有限公司 万易互联网科技有限公司 科技创新互联网企业 人人互联网科技是培训 互联网教育科技公司vipkid 语蝶互联网科技有限公司 国大互联网教育科技有限公司薪资 亚光科技低轨卫星互联网 杭州科技互联网公司有哪些
0