【发布时间】:2018-09-22 05:55:44
【问题描述】:
我有以下文字输入-
Host Expiration Features
**172.17.64.120 never** CPSM-C-BASE CPSB-NPM CPSB-EPM CPSB-LOGS CPSB-MNTR CPSB-MPTL CPSB-UDIR CPSB-PRVS CPSB-GBLP CK-77B458DF8D52
**172.17.64.120 never** CPSM-C-U CPSB-NPM CPSB-EPM CPSB-LOGS CPSB-MNTR CPSB-MPTL CPSB-UDIR CPSB-PRVS CPSB-GBLP CK-FF18475CE402
**10.10.5.17 10May2018** CPSM-C-U CPSB-NPM CPSB-EPM CPSB-LOGS CPSB-MNTR
(some other text..)
LICENSE **10.10.5.17 10May2018**
LICENSE **172.17.64.120 never**
LICENSE **172.17.64.120 never**
我想获得所有 3 个许可证而不重复 -
以下正则表达式模式 -
\d+\.\d+\.\d+\.\d+\s*(\d{1,2}[a-zA-Z]{3}\d{4}|从不)
匹配这些结果:
172.17.64.120 never
172.17.64.120 never
10.10.5.17 10May2018
10.10.5.17 10May2018
172.17.64.120 never
172.17.64.120 never
问题是,我想得到没有重复的结果。 是否有向正则表达式插入与最后 3 个结果不匹配的附加 not 选项(以 LICENSE+空格开头的那些)
10.10.5.17 10May2018
172.17.64.120 never
172.17.64.120 never
谢谢:)
【问题讨论】:
-
为什么不稍后过滤返回的匹配数组?
-
您是否只想在您的正则表达式前面添加 [^LICENSE **]