bd=raw_input('Enter your birthday(Use "." to seperate between day,month and year): ')
for match in re.finditer('/.',bd):
print "found"
当我写“12.3.1990”时,下面的代码应该打印两次,但它什么都不打印 我似乎无法找到问题,有人可以帮助我吗? 谢谢!
答案 0 :(得分:3)
您需要使用反斜杠来转义.
运算符并匹配文字.
:
for match in re.finditer('\.', bd):
您的代码查找了一个字面正斜杠和除换行符之外的任何其他字符。
演示:
>>> import re
>>> list(re.finditer('\.', '2013.10.29'))
[<_sre.SRE_Match object at 0x100e8ad98>, <_sre.SRE_Match object at 0x100eaf308>]