首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式解析hl7

使用正则表达式解析hl7
EN

Stack Overflow用户
提问于 2017-06-27 23:27:53
回答 2查看 1.4K关注 0票数 0

我有以下hl7消息:MSH|^~\&|EPIC|SMHRMC|JCAPS|QHN|20170626165726|EDILABIH|ORU^R01^LAB|00004841|P|2.3||||||||| PID|1||W00xxxxx^^^SMHRMC||mouse^Mickey^E||19860905|F||1|2601 somestreet AVE NO 8^^City^ST^zip^USA^^^county|MESA|(970)xxx-xxxx^P^PH|||Single||175375903|xxxxxxx||last^first^^|NON-HISPANIC|||||||||| PV1|1|I|MNEU^908^A^^R^^^^^^||||9999999^pcp^pcp^LYNNE^^^^^NPI^^^^NPI~999999999^last^first^LEE^^^^^NPI^^^^NPI||||||||||00000000^last^first^LYNNE^^^^^NPI^^^^NPI||000000603|CAID||||||||||||||||||||||||20170626000000

使用正则表达式很难提取Hl7,但是我有一个始终位于同一位置的字段,我觉得这可能更容易。我需要拉取上面流中的“W00xxxxx”的遭遇编号。它始终位于PID的第3个竖线分隔部分,并在^处停止。

目前我有: select substring(column from 'PID|1||(.)\^'),但这不起作用。但是,当我使用select substring(‘PV1|1|(.)|’中的列)时,它将拉出'I‘。我看不出我的正则表达式有什么大的不同,也不知道为什么它不能工作。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-27 23:42:06

这样如何:

代码语言:javascript
复制
PID\|[1]\|\|(.+?)\^
票数 1
EN

Stack Overflow用户

发布于 2017-06-29 21:29:33

您不能使用正则表达式可靠地解析HL7 V2.x消息,因为编码字符在MSH-1和MSH-2中可能会发生变化。无论您使用哪种语言,都可能已经有一个HL7解析库可供您使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44784227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档