我正在尝试匹配字符串中的一对数字并将其捕获成组,但我似乎只能捕获最后一组.
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')完成这项工作.
你不能只使用一个正则表达式.这是一个特殊的计数案例,你只能使用正则表达式模式.\ 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']
| 归档时间: |
|
| 查看次数: |
12360 次 |
| 最近记录: |