Zanurkuj w Pythonie/Rozwlekłe wyrażenia regularne: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
poprawki
Linia 1:
== Rozwlekłe wyrażenia regularne ==
 
Jak na razie, mieliśmy do czynienia z czymś, co nazywam "zwięzłymi" wyrażeniami regularnymi. Jak pewnie zauważyliśmy, są one trudne do odczytania i nawet, jeśli już je rozszyfrujemy, nie ma gwarancji, że zrobimy to za np. sześć miesięcy. To, czego potrzebujemy, to dokumentacja w ich treści.
 
Python pozwala na to przez tworzenie ''rozwlekłych wyrażeń regularnych'' (ang. ''verbose regular expressions''). Różnią się one od zwięzłych dwoma rzeczami:
Linia 35:
# To dopasowuje początek łańcucha, potem trzy z trzech możliwych <tt>M</tt>, dalej <tt>D</tt>, trzy z trzech możliwych <tt>C</tt>, <tt>L</tt> z trzema możliwymi <tt>X</tt>, potem <tt>V</tt> z trzema możliwymi <tt>I</tt> i na koniec koniec łańcucha.
# Tutaj nie udało się dopasować niczego. Czemu? Ponieważ nie przekazaliśmy flagi <code>re.VERBOSE</code>, więc funkcja <code>re.search</code> traktuje to wyrażenie regularne jako zwięzłe, z dużą ilością białych znaków i kratek. Python nie rozpoznaje samodzielnie, czy każemy mu dopasować zwięzłe, czy może rozwlekłe wyrażenie regularne i przyjmuje, że każde jest zwięzłe, chyba że wyraźnie wskażemy, że tak nie jest.
}}
<noinclude>
{{Nawigacja|Zanurkuj w Pythonie|