python正则表达式匹配麻烦

时间:2017-06-04 15:10:25

标签: python regex string python-3.x

我想写一个正则表达式来匹配字符串中的日期。

  

timeStamps = '25 -12-2017 25:12:2017 25.12.2017'

     

pattern = r'(\ d {2}(?: - |:|。)){2} \ d {4}'

     

[timestamps.split()]中的ts的re.search(pattern,ts)

re.search正在运行,没有任何问题,并且完全按照想要的方式工作。

[<_sre.SRE_Match object; span=(0, 10), match='25-12-2017'>,
 <_sre.SRE_Match object; span=(0, 10), match='25:12:2017'>,
 <_sre.SRE_Match object; span=(0, 10), match='25.12.2017'>]

当我将re.search更改为re.findall时,结果不同。

[ re.findall(pattern,ts) for ts in timeStamps.split()]
[['12-'], ['12:'], ['12.']]

为什么这两个函数提供两种不同的输出?

0 个答案:

没有答案