python与正则表达式的麻烦

时间:2013-10-29 19:11:42

标签: python regex

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”时,下面的代码应该打印两次,但它什么都不打印 我似乎无法找到问题,有人可以帮助我吗? 谢谢!

1 个答案:

答案 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>]