正则表达式匹配捕获组一次或多次

new*_*bie 3 python regex

我正在尝试匹配字符串中的一对数字并将其捕获成组,但我似乎只能捕获最后一组.

Regex:
(\d\d){1,3}
Run Code Online (Sandbox Code Playgroud)

输入字符串:123456 789101

比赛1:123456
第1组:56

第2场比赛:789101
第1组:01

我要的是捕捉到所有的组是这样的:第1场:123456
1组:12
组2:34
组3:56

*更新
看起来Python不允许你捕获多个组,例如在.NET中你可以在一次传递中捕获所有组,因此re.findall('\ d\d','123456')完成这项工作.

Ahm*_*sud 6

你不能只使用一个正则表达式.这是一个特殊的计数案例,你只能使用正则表达式模式.\ d\d会得到你:

Group1:12 Group2:23 Group3:34 ......

python中的正则表达式库带有一个非重叠的例程,即re.findall(),可以解决这个问题.如:

     re.findall('\d\d', '123456')
Run Code Online (Sandbox Code Playgroud)

将返回 ['12', '34', '56']