Jesteś tutaj: Główna → Wyrażenia regularne → Jak to działa. Kropka.
To, jak w ogóle działają wyrażenia regularne i czym się je je, najlepiej zobaczyć na przykładzie. W tym celu weźmy sobie tekst:
During the whole of a dull, dark, and soundless day in the
autumn of the year, when the clouds hung oppressively low in the
heavens, I had been passing alone, on horseback, through a
singularly dreary tract of country (...)
Czytelnik zechce mi wybaczyć użycie języka Szekspira - w tym przypadku, na samym początku przygody z wyrażeniami regularnymi, nie będziemy wdawać się w szczegóły takie, jak, na przykład, polskie znaki diakrytyczne; lepiej zacząć od rzeczy prostych, których nie cechują się posiadaniem subtelnych detali mogących zaciemnić tylko obraz.
Załóżmy, że chcemy dopasować wzorzec ing. Mechanizm
dopasowywania wzorca bierze sobie ten wzorzec i zaczyna go
dopasowywać:
During the whole of a dull, dark, and soundless day in the ing
Wzorzec nie pasuje, więc porównywany jest następny znak wyrazu During, a potem następny, aż mechanizm natrafi na trzy literę i:
During the whole of a dull, dark, and soundless day in the ing
Ponieważ litera ta odpowiada pierwszej literze wzorca, mechanizm sięgnie po jego kolejną literę, która również zostanie dopasowana, podobnie jak ostatnia litera g:
During the whole of a dull, dark, and soundless day in the ing
W przypadku słowa in, przedostatniego w rozpatrywanym przykładzie, mechanizm dopasuje pierwsze dwie litery:
During the whole of a dull, dark, and soundless day in the
ing
jednakże po pobraniu trzeciego, ostatniego znaku wzorca, okaże się, że nie pasuje on do tekstu, przez co wyrażenie nie zostanie dopasowane:
During the whole of a dull, dark, and soundless day in the
ing
Z tej lekcji należy wyciągnąć dwa wnioski:
Znak kropki . pełni specjalną rolę w mechaznizmie
wyrażeń regularnych - odpowiada on bowiem (prawie) dowolnemu
znakowi. Zmieniając więc rozpatrywane powyżej wyrażenie na
in. dopasowalibyśmy nie tylko trzy ostatnie litery
słowa During, ale również słowo in i następującą po
nim spację:
During the whole of a dull, dark, and soundless day in the
in.
Jedyne, czego kropka nie dopasowuje, to znak końca wiersza.