В школе я должен написать 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() действительно правильно выполнял это выражение? Или я делаю какую-то ошибку?