Python 3中的re.search返回None

时间:2015-04-14 10:45:29

标签: python regex python-3.x

我的正则表达式无法找到我在文本文件中搜索的模式的匹配项。这是我的代码:

myfile = ('_%s_Mail_%s.txt' % (timestr, emailid))

urls = re.search(r'^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$', myfile)
IPs = re.search(r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$', myfile)
print(urls.group())
print(IPs.group())

这将返回None

这个表达有什么问题?

1 个答案:

答案 0 :(得分:2)

您没有打开该文件。您正在对文件名应用正则表达式。

myfile = ('_%s_Mail_%s.txt' % (timestr, emailid))
with open(myfile, 'r') as f:
    data = f.read()
    urls = re.search(..., data)