【发布时间】:2018-01-23 08:21:56
【问题描述】:
我有一个示例文件,其中包含要通过 egrep 命令分析的数据:
[IG#]
IG#
[RM#]
RM#
[IG#1234]
[IG# 1234]
[IG #1234] [RM# ]
[IG# 1234] [RM #1224]
[RM#1234]
[RM# 1234]
[RM #1234]
[RM# 1234] [IG#]
[RM# ] [IG#1234]
#1234
1234
我的正则表达式看起来是这样的:
(RM#.*[0-9]|IG#.*[0-9]|\b([A-Z][A-Z0-9]+-[0-9]+)\b)
我不想只找到 [RM# {digits}] AND [IG# {digits}] 的行,但它会像使用 OR 一样返回,结果如下所示:
[IG#1234]
[IG# 1234]
[IG# 1234] [RM #1224]
[RM#1234]
[RM# 1234]
[RM# 1234] [IG#]
[RM# ] [IG#1234]
预期输出是
[IG# 1234]
[RM# 1234]
[IG# 1234] [RM1224]
【问题讨论】:
-
你的预期输出是什么?
-
@anubhava:我的预期输出是 [RM#] 和 [IG#] 两个部分都包含数字。就这样[IG#1234][RM#1224]
-
|表示正则表达式中的 OR。 -
umm..为什么预期输出包含
[IG# 1234]和[RM# 1234]? -
您预期输出中的
[IG# 1234] [RM1224]行似乎是错误的