我正在youtube上观看一些Google课程,目前的主题是正则表达式。遇到下面的代码,有一段代码和结果,我可以使用一些澄清。
为什么以下内容会返回c.l
而不是not found
?被搜索的模式是一个原始字符串,我认为这意味着反对将被字面上处理。
>>> import re
>>> def Find(pattern, text_string):
... match = re.search(pattern, text_string)
... if match:
... print match.group()
... else:
... print 'not found'
>>> Find(r'c\.l', 'c.lled piiig much better: zysdgs')
c.l
答案 0 :(得分:3)
它正在使用正则表达式。在正则表达式中,句号代表“匹配任何字符”。但是,该代码的作者并不想要这种功能,他希望确切地匹配一个时期。所以为了表明这一点,他们使用反斜杠字符来逃避这个时期。所以对于正则表达式引擎,表达式意味着“匹配c.l”,它就是这样。