我有一个包含不同格式日期的文本文件。例如:
2014
2015
2015年1月7日
2012年1月6日
…
…
等等。
现在,我试图编写一个正则表达式来打印.txt文件中所有以YYYY格式表示的日期,例如2014年,2015年。
然而,我执行的代码没有得到任何匹配结果。有人能帮我解决这个问题吗?谢谢。
我的Python代码:
import refor i in "file.txt": match = re.match(r'\d{2}-\d{2}-(\d{4})', i) print(match)
当前输出:
NoneNoneNoneNoneNoneNone
回答:
存在三个问题:首先,你实际上并没有打开文件。因此,for i in "file.txt"
在每次循环中实际上返回的是字母”f”、”i”等。其次,你的正则表达式是在寻找DD-MM-YYYY格式的日期,而这在你的样本文件中并不存在。最后,match
不是可以直接打印的字符串。相反,以下代码可以正常工作: