递归火山软件开发平台

标题: 正则怎么匹配成为两条数据 [打印本页]

作者: wtuauwfn    时间: 2022-11-27 16:16
标题: 正则怎么匹配成为两条数据
MSH|^~\&|||||20220908102846||ORU^R01|5|P|2.3.1||||0||ASCII|||
PID|5||||欧丽容|||F|||||||||||||||||||||||
OBR|5||4|^|N|20220905131722|20220905131720|20220905131720||^||||20220905131720|血清||||||||||5|||||||||||||||||||||||
OBX|1|NM||AFP|3.49|ng/mL|-|N|||F||3.49|20220905141047|||0|
OBX|2|NM||Anti-Tg|37.82|IU/mL|-|N|||F||37.82|20220905142647|||0|
OBX|3|NM||Anti-TPO|0.20|IU/mL|-|N|<0.25||F||0.20|20220905142547|||0|
OBX|4|NM||CA125|7.10|U/mL|-|N|||F||7.10|20220905141317|||0|
OBX|5|NM||CA15-3|7.30|U/mL|-|N|||F||7.30|20220905142147|||0|
OBX|6|NM||CA19-9|25.93|U/mL|-|N|||F||25.93|20220905141247|||0|
OBX|7|NM||CA242|16.57|U/mL|-|N|||F||16.57|20220905141747|||0|
OBX|8|NM||CA72-4|0.34|U/mL|-|N|||F||0.34|20220905140617|||0|
OBX|9|NM||CEA|2.57|ng/mL|-|N|||F||2.57|20220905141647|||0|
OBX|10|NM||CYFRA 21-1|1.74|ng/mL|-|N|||F||1.74|20220905140847|||0|
OBX|11|NM||E2|7.73|pg/mL|-|N|<10||F||7.73|20220905142317|||0|
OBX|12|NM||FSH|62.85|mIU/mL|-|N|||F||62.85|20220905141117|||0|
OBX|13|NM||FT3|2.57|pg/mL|-|N|||F||2.57|20220905141517|||0|
OBX|14|NM||FT4|1.08|ng/dL|-|N|||F||1.08|20220905141447|||0|
OBX|15|NM||LH|37.91|mIU/mL|-|N|||F||37.91|20220905141717|||0|
OBX|16|NM||NSE|11.20|ng/mL|-|N|||F||11.20|20220905140547|||0|
OBX|17|NM||PRL|10.51|ng/mL|-|N|||F||10.51|20220905140017|||0|
OBX|18|NM||PROG|0.18|ng/mL|-|N|||F||0.18|20220905140247|||0|
OBX|19|NM||SCCA|1.04|ng/mL|-|N|||F||1.04|20220905141617|||0|
OBX|20|NM||T β HCG-II|0.71|mIU/mL|-|N|||F||0.71|20220905141147|||0|
OBX|21|NM||TESTO|0.16|ng/mL|-|N|||F||0.16|20220905140147|||0|
OBX|22|NM||Tg|1.60|ng/mL|-|N|||F||1.60|20220905141417|||0|
OBX|23|NM||TSH|0.988|μIU/mL|-|N|||F||0.988|20220905142117|||0|
MSH|^~\&|||||20220908102846||ORU^R01|5|P|2.3.1||||0||ASCII|||
PID|5||||欧丽容|||F|||||||||||||||||||||||
OBR|5||4|^|N|20220905131722|20220905131720|20220905131720||^||||20220905131720|血清||||||||||5|||||||||||||||||||||||
OBX|1|NM||AFP|3.49|ng/mL|-|N|||F||3.49|20220905141047|||0|
OBX|2|NM||Anti-Tg|37.82|IU/mL|-|N|||F||37.82|20220905142647|||0|
OBX|3|NM||Anti-TPO|0.20|IU/mL|-|N|<0.25||F||0.20|20220905142547|||0|
OBX|4|NM||CA125|7.10|U/mL|-|N|||F||7.10|20220905141317|||0|
OBX|5|NM||CA15-3|7.30|U/mL|-|N|||F||7.30|20220905142147|||0|
OBX|6|NM||CA19-9|25.93|U/mL|-|N|||F||25.93|20220905141247|||0|
OBX|7|NM||CA242|16.57|U/mL|-|N|||F||16.57|20220905141747|||0|
OBX|8|NM||CA72-4|0.34|U/mL|-|N|||F||0.34|20220905140617|||0|
OBX|9|NM||CEA|2.57|ng/mL|-|N|||F||2.57|20220905141647|||0|
OBX|10|NM||CYFRA 21-1|1.74|ng/mL|-|N|||F||1.74|20220905140847|||0|
OBX|11|NM||E2|7.73|pg/mL|-|N|<10||F||7.73|20220905142317|||0|
OBX|12|NM||FSH|62.85|mIU/mL|-|N|||F||62.85|20220905141117|||0|
OBX|13|NM||FT3|2.57|pg/mL|-|N|||F||2.57|20220905141517|||0|
OBX|14|NM||FT4|1.08|ng/dL|-|N|||F||1.08|20220905141447|||0|
OBX|15|NM||LH|37.91|mIU/mL|-|N|||F||37.91|20220905141717|||0|
OBX|16|NM||NSE|11.20|ng/mL|-|N|||F||11.20|20220905140547|||0|
OBX|17|NM||PRL|10.51|ng/mL|-|N|||F||10.51|20220905140017|||0|
OBX|18|NM||PROG|0.18|ng/mL|-|N|||F||0.18|20220905140247|||0|
OBX|19|NM||SCCA|1.04|ng/mL|-|N|||F||1.04|20220905141617|||0|
OBX|20|NM||T β HCG-II|0.71|mIU/mL|-|N|||F||0.71|20220905141147|||0|
OBX|21|NM||TESTO|0.16|ng/mL|-|N|||F||0.16|20220905140147|||0|
OBX|22|NM||Tg|1.60|ng/mL|-|N|||F||1.60|20220905141417|||0|
OBX|23|NM||TSH|0.988|μIU/mL|-|N|||F||0.988|20220905142117|||0|


作者: windkey    时间: 2022-11-27 20:58
MSH[\s\S]*?OBX\|23[\s\S]*?0\|
作者: wtuauwfn    时间: 2022-11-27 21:38
windkey 发表于 2022-11-27 20:58
MSH[\s\S]*?OBX\|23[\s\S]*?0\|

谢谢,可以了,我搞了好久
作者: wtuauwfn    时间: 2022-11-27 21:50
OBX|1|NM||AFP|3.49|ng/mL|-|N|||F||3.49|20220905141047|||0|
OBX|2|NM||Anti-Tg|37.82|IU/mL|-|N|||F||37.82|20220905142647|||0|
OBX|3|NM||Anti-TPO|0.20|IU/mL|-|N|<0.25||F||0.20|20220905142547|||0|
OBX|4|NM||CA125|7.10|U/mL|-|N|||F||7.10|20220905141317|||0|
后面这段不是固定的,还要在研究一下
作者: 67564226    时间: 2022-11-27 21:55
遇到这玩意,分割比正则好用。。
作者: wtuauwfn    时间: 2022-11-27 22:15
67564226 发表于 2022-11-27 21:55
遇到这玩意,分割比正则好用。。

现在关键是不知道他一次发多少数据过来,没办法组包啊,没有明显的结束符号
作者: 67564226    时间: 2022-11-27 22:20
wtuauwfn 发表于 2022-11-27 22:15
现在关键是不知道他一次发多少数据过来,没办法组包啊,没有明显的结束符号 ...

只要每次发过来, 按行分割不就行了。
作者: wtuauwfn    时间: 2022-11-27 22:34
67564226 发表于 2022-11-27 22:20
只要每次发过来, 按行分割不就行了。

数据多的时候他会分开发送的
比如这一条他会分两次发送过来OBX|1|NM||AFP|3.49|ng/mL|-|N|||F||3.49|20220905141047|||0|
作者: 67564226    时间: 2022-11-28 08:42
wtuauwfn 发表于 2022-11-27 22:34
数据多的时候他会分开发送的
比如这一条他会分两次发送过来OBX|1|NM||AFP|3.49|ng/mL|-|N|||F||3.49|2022 ...

那这样,就是你用正则,也照样取不到啊。  

作者: wtuauwfn    时间: 2022-11-28 10:13
67564226 发表于 2022-11-28 08:42
那这样,就是你用正则,也照样取不到啊。

对,现在就是在想办法,让接收到的数先组包,然后在来处理数啊
作者: windkey    时间: 2022-11-28 14:32
那就就这样取子匹配就好了啊,然后最后一段专门处理一下
(MSH[\s\S]*?)MSH
作者: wtuauwfn    时间: 2022-11-29 21:56
windkey 发表于 2022-11-28 14:32
那就就这样取子匹配就好了啊,然后最后一段专门处理一下
(MSH[\s\S]*?)MSH

谢谢,我在学习一下,有时候数不只两条,好几十条一起的




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4