可能重复:
Python正则表达式找到所有重叠匹配?
我不明白为什么python的re.findall在下面的例子中没有返回所有找到的子串.有任何想法吗?
>>> import re
import re
>>> t='1 2 3'
t='1 2 3'
>>> m=re.findall('\d\s\d',t)
m=re.findall('\d\s\d',t)
>>> m
m
['1 2']
Run Code Online (Sandbox Code Playgroud)
但预期的结果是m = ['1 2','2 3'].
有关信息,我使用的是python 2.6.1.谢谢.
help(re.findall)
在模块re中帮助函数findall:
findall(pattern,string,flags = 0)
返回字符串中所有非重叠匹配的列表.如果模式中存在一个或多个组,则返回
组列表; 如果模式有多个组,这将是一个元组列表.结果中包含空匹配.
由于两个结果重叠(两者中都有'2'),因此只返回第一个结果.
如果相反你会得到t='1 2 3 4'结果['1 2', '3 4'].
| 归档时间: |
|
| 查看次数: |
6672 次 |
| 最近记录: |