正则表达式和OR运算符没有在Python中分组?

这里是情况。我正在寻找日志文件中的以下模式。正则表达式和OR运算符没有在Python中分组?

所有字符串的形式为AB_NCDE_NABCDE是固定字母,后跟下划线。 N可以是2或3的数字。我试过(AB|CDE)_\d{2,3}但是返回一个组。我不能做\w{2,3}\d{2,3},因为它必须是ABCDE而不是ACFEG。省略括号也会打破。我相信解决方案很简单,但我是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

回到顶部