以下是案例。我正在日志文件中寻找以下模式。
所有字符串都是AB_N
or的形式CDE_N
。
AB
和CDE
是固定字母,后跟下划线。
N
可以是 2 个或 3 个数字。
我试过(AB|CDE)_\d{2,3}
了,但这会返回一个组。我不能这样做\w{2,3}\d{2,3}
,因为它必须是AB
orCDE
而不是AC
or FEG
。省略括号也会中断。我确信解决方案很简单,但我是 python 和正则表达式的新手,无法弄清楚。
以下是案例。我正在日志文件中寻找以下模式。
所有字符串都是AB_N
or的形式CDE_N
。
AB
和CDE
是固定字母,后跟下划线。
N
可以是 2 个或 3 个数字。
我试过(AB|CDE)_\d{2,3}
了,但这会返回一个组。我不能这样做\w{2,3}\d{2,3}
,因为它必须是AB
orCDE
而不是AC
or FEG
。省略括号也会中断。我确信解决方案很简单,但我是 python 和正则表达式的新手,无法弄清楚。
正则表达式中括号内的A?:
使其无法捕获。像这样:(?:AB|CDE)_\d{2,3}
请参阅此处的文档:http: //docs.python.org/3/library/re.html 大约三分之一的方法是通过非捕获语法。
非捕获组语法是(?:...)
. 就这样吧(?:AB|CDE)_\d{2,3}
。这与其他所有内容一起记录在案。