找到匹配的正则表达式模式之前的立即出现
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'
演示与解释:
我的服务器文件如下所示
字符串 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'
演示与解释: