p1 = re.compile('(?:[A-Z0-9]+(?:-*[A-Z0-9]+)*\.)+[A-Z]{2,6}',
re.IGNORECASE)
p2 = re.compile('(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]
{2,6}\.?', re.IGNORECASE)
p2.match('yahoo.comx26latlngdafdsfdfadfadfadfad')
p1.match('yahoo.comx26latlngdafdsfdfadfadfadfad')
wynik z p2 dostaje po chwili a z p1 po kilku minutach. Z gory dzieki
za jakies podpowiedzi. pozdrawiam
Jeśli przy kompilacji podasz flagę re.DEBUG, to zostaną wyświetlone
informacje na temat tego, jak będzie wyglądało sprawdzanie dopasowania
dla danego wyrażenia regularnego.
p1 = re.compile('(?:[A-Z0-9]+(?:-*[A-Z0-9]+)*\.)+[A-Z]{2,6}',
re.IGNORECASE|re.DEBUG)
p2 = re.compile('(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]
{2,6}\.?', re.IGNORECASE|re.DEBUG)
Podobne informacje można też uzyskać za pomocą nieudokumentowanego
modułu sre_parse: sre_parse.parse('pattern').
Jeśli chodzi o pierwsze wyrażenie, to w czasie jego przetwarzania może
dojść do kosztownej iteracji po kilku zagnieżdżonych pętlach.
Filip Wasilewski
http://filipwasilewski.pl/
O to właśnie mi chodziło, dzięki wielkie