Do szkoły mam napisać skrypt Python RE, który wyodrębnia adresy IP. Wyrażenie regularne, którego używam, wydaje się działać z re.search()
, ale nie z re.findall()
.Wyrażenia regularne w języku Python - re.search() kontra 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()
Mecz bo to zawsze 192.168.0.185, ale jest inaczej, gdy robię 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.
Zastanawiam się dlaczego re.findall()
plony 0. Kiedy re.search()
plony 192.168.0.185, bo” m używając tego samego wyrażenia dla obu funkcji.
Co mogę zrobić, aby w rzeczywistości było zgodne z wyrażeniem re.findall()
? Czy robię jakiś błąd?
To działa dobrze, dziękuję. – user1168906