正则表达式和OR运算符没有在Python中分组?
这里是情况。我正在寻找日志文件中的以下模式。正则表达式和OR运算符没有在Python中分组?
所有字符串的形式为AB_N
或CDE_N
。 AB
和CDE
是固定字母,后跟下划线。 N
可以是2或3的数字。我试过(AB|CDE)_\d{2,3}
但是返回一个组。我不能做\w{2,3}\d{2,3}
,因为它必须是AB
或CDE
而不是AC
或FEG
。省略括号也会打破。我相信解决方案很简单,但我是python和正则表达式的新手,无法弄清楚。
回答:
A ?:
在正则表达式中的括号内使其无法捕获。像这样:(?:AB|CDE)_\d{2,3}
请参阅文档:http://docs.python.org/3/library/re.html 大约三分之一的方式通过它覆盖非捕获语法。
回答:
非捕获组语法是(?:...)
。那么做(?:AB|CDE)_\d{2,3}
。这是documented以及其他一切。
以上是 正则表达式和OR运算符没有在Python中分组? 的全部内容, 来源链接: utcz.com/qa/263078.html