找到匹配的正则表达式模式之前的立即出现

Find the immediate occurrence before the matching regex pattern

我的服务器文件如下所示

字符串 X

TYPE:

08:23:37.253 [nioEventLoopGroup-3-1] DEBUG c.iso.decoder.ISODecoder - [MTI=""] - [STAN=""] - [REF=""] - 
TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000012 -> '000012'


TYPE:

08:23:37.253 [nioEventLoopGroup-3-1] DEBUG c.iso.decoder.ISODecoder - [MTI=""] - [STAN=""] - [REF=""] - 
TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000011 -> '000011'

现在的问题是我只想提取下面的部分 字符串 Y

TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000011 -> '000011'

我使用这个正则表达式只查找上面的部分,但它突出显示了整个文件。 过程就是我要找模式DE 11 NUMERIC: 000011 -> '000011',只找前面的第一个TYPE

我的正则表达式模式:

TYPE((.|\n)*)DE  11    NUMERIC: 000011 -> '000011'((.|\n)*)

我做错了什么?

试试这个正则表达式

/^.*?numeric.*$/gmi

对于文本:

TYPE:

08:23:37.253 [nioEventLoopGroup-3-1] DEBUG c.iso.decoder.ISODecoder - [MTI=""] - [STAN=""] - [REF=""] - 
TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000012 -> '000012'


TYPE:

08:23:37.253 [nioEventLoopGroup-3-1] DEBUG c.iso.decoder.ISODecoder - [MTI=""] - [STAN=""] - [REF=""] - 
TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000011 -> '000011'

尝试:

(TYPE: \d+.*\n.*\n.*DE.*?NUMERIC:.*?011'$)

匹配项:

TYPE: 0800
DE   7     DATE10: Mon Jul 05 08:23:52 PKT 2021 -> '0705082352'
DE  11    NUMERIC: 000011 -> '000011'

演示与解释: