В школе я должен написать Python RE script, который извлекает IP-адреса. Регулярное выражение, которое я использую, похоже, работает с re.search()
, но не с re.findall()
.
exp = "(\d{1,3}\.){3}\d{1,3}"
ip = "blah blah 192.168.0.185 blah blah"
match = re.search(exp, ip)
print match.group()
Совпадение для этого всегда 192.168.0.185, но его отличие, когда я делаю re.findall()
exp = "(\d{1,3}\.){3}\d{1,3}"
ip = "blah blah 192.168.0.185 blah blah"
matches = re.findall(exp, ip)
print matches[0]
0.
Мне интересно, почему re.findall()
дает 0. когда re.search()
дает 192.168.0.185, так как я использую одно и то же выражение для обеих функций.
И что я могу сделать, чтобы сделать так, чтобы re.findall()
действительно правильно выполнял это выражение? Или я делаю какую-то ошибку?