我想写一个正则表达式来匹配字符串中的日期。
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.']]
为什么这两个函数提供两种不同的输出?