Hi ,
ich bin am verzweifeln was mach ich bei falsch , warum funktioniert
das nicht eigentlich müsste er doch die gefundenen groups ausgeben.
import re
def extract():
proxy_list = "blabla199.105.122.121as"
pattern=re.compile(r'^(\d{2,3})\.(\d{2,3})\.(\d{2,3})\.(\d{2,3})$')
match = pattern.search(proxy_list).groups()
print match
Fehler Meldung ist "NoneType " object has no attribute "groups"
Das ganze soll also aus einer liste die ips raussuchen ...
Bin für jede Hilfe Dankbar
re - problem
Hallo!
Jan
Mit ^ und $ hast Du festgelegt, dass der String zwingend mit \d anfangen und aufhören muss. Tut Dein Beispiel-String aber nicht.Anonymous hat geschrieben: proxy_list = "blabla199.105.122.121as"
pattern=re.compile(r'^(\d{2,3})\.(\d{2,3})\.(\d{2,3})\.(\d{2,3})$')
Jan
Hallo
Versuch es mal mit:
Harry
Versuch es mal mit:
Code: Alles auswählen
proxy_list = "blabla199.105.122.121as"
print re.findall("[\d{3}\.?]{15}",proxy_list)
Hallo!
Der Regexp des OPs war ja ok. Er muss nur eben ^ und $ weglassen.
Jan
Na, das ist aber ziemlich verquer. Der OP will ja wohl IPs erkennen, deren Zahlen 2- oder 3-stellig sein dürfen. Mit [] bildest Du nur eine Zeichenmenge, und die besteht bei Dir aus den Zeichen '0' bis '9', '{', '}', '.' und '?'. Danach enthielten "blabla?...?{{???}}???as" und "blabla...23..23..4...as" also gültige IPs, "blabla123.123.12.12as" dagegen nicht.HarryH hat geschrieben:Code: Alles auswählen
print re.findall("[\d{3}\.?]{15}",proxy_list)
Der Regexp des OPs war ja ok. Er muss nur eben ^ und $ weglassen.
Jan
Eine einfache Methode, um IP-Adressen zu erkennen, ist:Anonymous hat geschrieben: proxy_list = "blabla199.105.122.121as"
pattern=re.compile(r'^(\d{2,3})\.(\d{2,3})\.(\d{2,3})\.(\d{2,3})$')
Code: Alles auswählen
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
Jens Kubieziel http://www.kubieziel.de
http://www.kubieziel.de/pythonwiki/
http://www.kubieziel.de/pythonwiki/