如果我这样做,我该如何访问捕获的组findall(r'regex(with)capturing.goes.here')?我知道我可以通过finditer,但我不想迭代.
Eli*_*sky 58
findall 只返回捕获的组:
>>> re.findall('abc(de)fg(123)', 'abcdefg123 and again abcdefg123')
[('de', '123'), ('de', '123')]
Run Code Online (Sandbox Code Playgroud)
相关文件摘录:
返回字符串中pattern的所有非重叠匹配,作为字符串列表.从左到右扫描字符串,并按找到的顺序返回匹配项.如果模式中存在一个或多个组,则返回组列表; 如果模式有多个组,这将是一个元组列表.结果中包含空匹配,除非它们触及另一个匹配的开头.
blu*_*ume 21
自由使用群组.匹配将作为组元组列表返回:
>>> re.findall('(1(23))45', '12345')
[('123', '23')]
Run Code Online (Sandbox Code Playgroud)
如果要包含完整匹配,只需将整个正则表达式括在一个组中:
>>> re.findall('(1(23)45)', '12345')
[('12345', '23')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50171 次 |
| 最近记录: |