正则表达式匹配不上,请哪位大佬帮忙看看,万谢

这是正则表达式,前面这一大段是我想要的59个字段
((?:OriSys)|(?:DesSys)|(?:Channel)|(?:ChnnlUsr)|(?:UID)|(?:PID)|(?:UsasSys)|(?:Office)|(?:Agent)|(?:Level)|(?:Airline)|(?:FuncCode)|(?:MsgType)|(?:MsgLen)|(?:TimeCost)|(?:IP)|(?:FromSvc)|(?:ToSvc)|(?:Action)|(?:CallSvc)|(?:UIP)|(?:MsgMode)|(?:CallType)|(?:ReleIP)|(?:RC)|(?:DataFmt)|(?:Dir)|(?:EMSubTyp)|(?:EMsgType)|(?:IATAOri)|(?:IATADes)|(?:EDIOri)|(?:EDIDes)|(?:FlowID)|(?:TPR)|(?:ODF)|(?:TLHH1H2)|(?:ThrOMSE)|(?:Vld)|(?:HLD)|(?:RID)|(?:SID)|(?:RuleID)|(?:SvrGrp)|(?:SvrID)|(?:Router)|(?:MemID)|(?:MCSSH1)|(?:MCSSH2)|(?:MCSSID)|(?:LogLen)|(?:QueueID)|(?:RsnCode)|(?:PNR)|(?:Route)|(?:Security)|(?:MltLine)|(?:TKTNo)|(?:CityPair))\=(([^=].*)|([^:].*))\;
需要匹配的文本是
[#%&*^]20180929130028:591.vm-kvm10818-app!SIH:mqrouter_SEAT_CST.10424,140120293115680#SIT00002522018092913002800004078%&B_12345*A^:STAT_IN>
OriSys=SEAT_CST_SYN;DesSys=DEP;UsasSys=J;DataFmt=SIH;MsgType=2;MsgLen=490;QEST=;SLST=;QLCT=;SECT=;QEAT=;SLAT=;QECT=;SLCT=;
SIH=13.1;MsgLen=00000490;HeadLen=00000106;ExtLen=00000116;ResLen=00000047; 0X0AOriSys=SEAT_CST_SYN;DesSys=DEP;MsgType=2;TransactionID=SIT00002522018092913002800004078;SessionID=B_12345; 0X0AFuncCode=NULL;UID=SEATING;UsasSys=J;PID=12345;CWA=A;Office=099;Airline=CA;Agent=99;Level=73;ReqFormat=4;ResFormat=7; 0X0ASIH:00000033=TLHSYN:SEATING_APP1,1376292,4036 0X0D; 0X0ADEP.SQRY/0/{"body":{"oTid":"20180323100126001012"},"operation":"sessionStatusQuery","tid":"SIT00002522018092913002800004078","version":"1.0"} 0X0A 0X0A
匹配结果是:
OriSys=SEAT_CST_SYN;DesSys=DEP;UsasSys=J;DataFmt=SIH;MsgType=2;MsgLen=490;QEST=;SLST=;QLCT=;SECT=;QEAT=;SLAT=;QECT=;SLCT=;
MsgLen=00000490;HeadLen=00000106;ExtLen=00000116;ResLen=00000047; 0X0AOriSys=SEAT_CST_SYN;DesSys=DEP;MsgType=2;TransactionID=SIT00002522018092913002800004078;SessionID=B_12345; 0X0AFuncCode=NULL;UID=SEATING;UsasSys=J;PID=12345;CWA=A;Office=099;Airline=CA;Agent=99;Level=73;ReqFormat=4;ResFormat=7; 0X0ASIH:00000033=TLHSYN:SEATING_APP1,1376292,4036 0X0D;
我的几个问题是:
1,比如SLST等没在我那59个字段中为什么也匹配上了?比如SIH这种没在字段中的就没匹配上。
2,为什么会匹配到0x0A和0x0D

问题出在这个地方:\=(([^=].*)|([^:].*))\;,[^=]和[^:]后紧跟的'.'会匹配任意字符,去掉即可,改成=(([^=]*)|([^:]*));。对了,等号和分号不用转义。