在Python正则表达式中分组

2024-06-30 15:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在Python中玩正则表达式。以下是到目前为止我得到的结果(通过RegExr调试):

@@(VAR|MVAR):([a-zA-Z0-9]+)+(?::([a-zA-Z0-9]+))*@@

所以我要匹配的是这样的东西:

^{pr2}$

本质上,您可以使用VAR或MVAR后跟冒号,然后是某个参数名称,然后是结束字符(@@)或其他:和一个参数。在

所以,对于regex上的组,我得到的是VAR,第一个参数,然后是参数列表中的最后一个参数(对于最后一个示例,第三个组是0)。我知道组是由(…)创建的,但是正则表达式有没有办法匹配多个组,以便param5、param6和0都在它们自己的组中,而不是最多只有三个组?在

我希望避免匹配这个字符串,然后不得不在:,因为我认为这是可以做到的正则表达式。也许我走错了路。在

从本质上讲,我尝试着在匹配过程中而不是在后处理中查找和拆分。在


Tags: 名称示例列表参数var字符regex办法
2条回答

如果这种格式是固定的,你就不需要正则表达式,这只会使它更难。只需使用split

text.strip('@').split(':')

应该这么做。在

正则表达式中的组数是固定的。你需要进行后处理。在

相关问题 更多 >