IDZ DO
IDZ DO
PRZYKŁADOWY ROZDZIAŁ
PRZYKŁADOWY ROZDZIAŁ
Wyrażenia regularne.
SPIS TRE CI
SPIS TRE CI
Leksykon kieszonkowy
KATALOG KSIĄŻEK
KATALOG KSIĄŻEK
Autor: Tony Stubblebine
KATALOG ONLINE
KATALOG ONLINE Tłumaczenie: Piotr Rajca
ISBN: 83-7361-075-8
Tytuł oryginału: Regular Expressions Pocket Reference
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
Format: B5, stron: 128
TWÓJ KOSZYK
TWÓJ KOSZYK
Wyrażenia regularne są niezwykle potężnym mechanizmem służącym do
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
dopasowywania i manipulowania tekstami. Choć są one dostępne w wielu
nowoczesnych językach programowania, to jednak w każdym z nich posiadają
one nieco inne możliwo ci, a subtelne różnice w ich składni sprawiają, że nie są
CENNIK I INFORMACJE
CENNIK I INFORMACJE
one w pełni zgodne z wyrażeniami stosowanymi w innych językach. Wiele języków
programowania implementuje wyrażenia regularne, jednak żaden z nich nie robi
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
tego w identyczny sposób.
O NOWO CIACH
O NOWO CIACH
Książka Wyrażenia regularne. Leksykon kieszonkowy zawiera krótką prezentację
ZAMÓW CENNIK pojęć związanych z wyrażeniami regularnymi oraz omówienia ich najczę ciej
ZAMÓW CENNIK
spotykanych implementacji dysponujących największymi możliwo ciami. Nie będziesz
już musiał rozszyfrowywać tajemniczych lub chaotycznych materiałów informacyjnych!
Niniejsza książka zawiera tabele i porady dotyczące stosowania wyrażeń regularnych
CZYTELNIA
CZYTELNIA
w językach Perl, Java, Python, C# (i rodowisku .NET), PHP, JavaScript, w bibliotece
FRAGMENTY KSIĄŻEK ONLINE
FRAGMENTY KSIĄŻEK ONLINE
PCRE oraz kilku programach (vi, awk, egrep oraz sed).
Ten leksykon można potraktować jako dopełnienie doskonałej i wyczerpującej książki
po więconej wyrażeniom regularnym Wyrażenia regularne , autorstwa Jeffreya E. F.
Friedla. Dzięki niemu będziesz mógł szybko okre lić składnię oraz szczególne cechy
wyrażeń regularnych w dowolnym używanym języku programowania.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O książce...................................................................................5
Przedstawienie wyrażeń regularnych
raz zagadnień dpaswywania wzrców........................7
Metaznaki, tryby >raz k>nstrukcje........................................................10
Reprezentacja znaków.............................................................................10
Perl 5.8 .....................................................................................22
źbslugiwane metaznaki..........................................................................22
źperat>ry wyrażeń regularnych ...........................................................27
źbsluga Unic>de......................................................................................30
Przyklady ..................................................................................................31
Inne zródla inf>rmacji .............................................................................32
Java (java.util.regex).............................................................33
źbslugiwane metaznaki..........................................................................33
Klasy i interfejsy związane z wyk>rzystaniem
wyrażeń regularnych ...........................................................................38
źbsluga Unic>de......................................................................................44
Przyklady ..................................................................................................45
Inne zródla inf>rmacji .............................................................................47
.NET i C#.................................................................................48
źbslugiwane metaznaki..........................................................................48
Klasy i interfejsy związane z wyk>rzystaniem
wyrażeń regularnych ...........................................................................53
źbsluga Unic>de......................................................................................59
Przyklady ..................................................................................................59
Inne zródla inf>rmacji .............................................................................62
Pythn......................................................................................62
źbslugiwane metaznaki..........................................................................62
źbiekty i funkcje m>dulu re ..................................................................66
Spis treści 3
źbsluga Unic>de......................................................................................71
Przyklady ..................................................................................................72
Inne zródla inf>rmacji .............................................................................73
Bibliteka PCRE....................................................................73
źbslugiwane metaznaki..........................................................................79
PCR ęPI ..................................................................................................79
źbsluga Unic>de......................................................................................83
Przyklady ..................................................................................................84
Inne zródla inf>rmacji .............................................................................88
PHP ..........................................................................................88
źbslugiwane metaznaki..........................................................................88
unkcje >bslugi wyrażeń regularnych..................................................93
Przyklady ..................................................................................................96
Inne zródla inf>rmacji .............................................................................98
Edytr vi..................................................................................98
źbslugiwane metaznaki..........................................................................98
D>pas>wywanie wz>rców ...................................................................102
Przyklady ................................................................................................103
Inne zródla inf>rmacji ...........................................................................104
JavaScript..............................................................................104
źbslugiwane metaznaki........................................................................104
Met>dy i >biekty związane z wyk>rzystaniem
wyrażeń regularnych .........................................................................107
Przyklady ................................................................................................111
Inne zródla inf>rmacji ...........................................................................113
Prgramy bsługiwane z wiersza pleceń......................113
źbslugiwane metaznaki........................................................................113
Inne zródla inf>rmacji ...........................................................................119
Skrwidz .............................................................................121
4 Wyrażenia regularne. Leksykon kieszonkowy
" Wyrażenia regularne, książka Jeffreya . . riedla (wydaw-
nictwż Heliżn) szczególżwż żpisuje wyrażenia regularne
używane w języku Perl (strżny 203 302).
" perlre tż jeden z dzialów dżkumentacji języka Perl, dż-
stępnych w większżści jegż dystrybucji.
Java (java.util.regex)
W Java 1.4 żbsluga wyrażeń regularnych zżstala zaimplemen-
tżwana w fżrmie pakietu , żpracżwanegż przez
firmę Sun. Chżć istnieją także inne pakiety żbslugujące wyrażenia
regularne, przeznaczżne dla wcześniejszych wersji języka, tż jed-
nak standardem stanie się zapewne pakiet firmy Sun. W pakiecie
tym wykżrzystywany jest tradycyjny mechanizm dżpasżwywania
NFA. Wyjaśnienie zasad dzialania tegż mechanizmu mżżna
znalezć w rżzdziale pżd tytulem Przedstawienie wyrażeń regu-
larnych żraz zagadnień dżpasżwywania wzżrców .
Obsługiwane metaznaki
Pakiet żbsluguje metaznaki żraz metasekwencje
przedstawiżne w tabelach żd 10. dż 14. Bardziej szczególżwe
żpisy pższczególnych metaznaków mżżna znalezć w części zaty-
tulżwanej Metaznaki, tryby żraz kżnstrukcje .
Tabela 10. Reprezentacje znaków
Sekwencja Znaczenie
Aiarm (dzwonek)
Znak cofnięcia; , obsługiwany wyłącznie w kiasie znaków
Znak ESC,
Znak nowego wiersza,
Java (java.util.regex) 33
Znak powrotu karetki,
Tabela 10. Reprezentacje znaków ciąg dalszy
Sekwencja Znaczenie
Znak wysunięcia kartki,
Znak tabuiacji poziomej,
Znak reprezentowany przez jedno-, dwu- iub trzycyfrową iiczbę
ósemkową
Znak reprezentowany przez jedno- iub dwucyfrową iiczbę
szesnastkową
Znak reprezentowany przez czterocyfrowy kod szesnastkowy
Unicode
Znak sterujący o podanej nazwie
Tabela 11. Klasy znaków oraz skrótowe zapisy klas
Klasa Znaczenie
Pojedynczy znak podany iub zawierający się w okreśionym
zakresie
Pojedynczy znak, który nie został podany iub nie zawiera się
w okreśionym zakresie
Dowoiny znak za wyjątkiem znaku nowego wiersza
(chyba że stosowany jest tryb )
Znak mogący tworzyć wyrazy;
Znak, który nie może tworzyć wyrazów;
Cyfra;
Dowoiny znak nie będący cyfrą;
odstęp;
Dowoiny znak nie będący odstępem;
Znak naieżący do okreśionej kiasy znaków POSIX bądz
właściwości iub bioku Unicode
Znak, który nie naieży do okreśionej kiasy znaków POSIX
ani właściwości iub bioku Unicode
34 Wyrażenia regularne. Leksykon kieszonkowy
Tabela 12. Punkty zakotwiczenia i warunki zerowej długości
Sekwencja Znaczenie
Początek łańcucha znaków iub, w trybie wieiowierszowym ( ),
miejsce położone bezpośrednio za znakiem nowego wiersza
Początek łańcucha znaków, niezaieżnie od używanego trybu
dopasowywania
Koniec łańcucha znaków iub, w trybie wieiowierszowym ( ),
miejsce położone bezpośrednio przed dowoinym znakiem nowego wiersza
Koniec łańcucha znaków iub miejsce położone przed znakiem nowego
wiersza kończącym wejściowy łańcuch znaków, niezaieżnie od używanego
trybu dopasowywania
Koniec łańcucha znaków, niezaieżnie od używanego trybu dopasowywania
Granica słowa
Dowoine miejsce, które nie jest granicą słowa
Początek aktuainego wyszukiwania
Pozytywne przewidywanie
Negatywne przewidywanie
Pozytywne przewidywanie wsteczne
Negatywne przewidywanie wsteczne
Tabela 13. Komentarze i modyfikatory trybu
Modyfikator Znak Znaczenie
(sekwencja) trybu
Traktuje znak jako jedyny znak końca wiersza
Kropka ( ) odpowiada dowoinemu znakowi, w tym
także znakowi zakończenia wiersza
Metaznaki oraz pasują do miejsc położonych
tuż obok osadzonych znaków końca wiersza
Ignoruje odstępy i pozwaia na umieszczanie
komentarzy w wyrażeniu reguiarnym
Java (java.util.regex) 35
Podczas dopasowywania nie będzie uwzgiędniana
wieikość iiter naieżących do kodu ASCII
Tabela 13. Komentarze i modyfikatory trybu ciąg dalszy
Modyfikator Znak Znaczenie
(sekwencja) trybu
Podczas dopasowywania nie będzie uwzgiędniana
wieikość iiter Unicode
Tryb kanonicznej równoważności Unicode,
w którym znak oraz sekwencja składająca się
ze znaku bazowego i znaków łączących o takiej
samej reprezentacji wizuainej są traktowane jako
identyczne
Włącza podane tryby ( ) w daiszej części
podwyrażenia
Wyłącza podane tryby ( ) w daiszej części
podwyrażenia
. Włącza podane tryby ( ) w wyrażeniu
podanym pomiędzy dwukropkiem i nawiasem
zamykającym
Wyłącza podane tryby ( ) w wyrażeniu
podanym pomiędzy dwukropkiem i nawiasem
zamykającym
W trybie sprawia, że wszystkie znaki do
końca wiersza będą traktowane jako komentarz
Tabela 14. Grupowanie, przechwytywanie, konstrukcje warunkowe
i sterowanie
Sekwencja Znaczenie
Grupuje podwzorce, przechwytuje pasujące do nich łańcuchy znaków
i zapamiętuje je w metaznakach , , & oraz , , &
Zawiera tekst odpowiadający -tej grupie przechwytującej
W łańcuchu zamiennika zawiera tekst dopasowany do -tej grupy
przechwytującej
36 Wyrażenia regularne. Leksykon kieszonkowy
Grupuje podwzorce, iecz nie powoduje przechwycenia i zapamiętania
pasujących do nich łańcuchów znaków
Nie pozwaia na powtórne wykorzystanie tekstu pasującego do podwzorca
Tabela 14. Grupowanie, przechwytywanie, konstrukcje warunkowe
i sterowanie ciąg dalszy
Sekwencja Znaczenie
Sprawdza aiternatywne podwzorce
Dopasowuje podwzorzec 0 iub więcej razy
Dopasowuje podwzorzec 1 iub więcej razy
Dopasowuje podwzorzec 1 iub 0 razy
Dopasowuje podwzorzec dokładnie razy
Dopasowuje podwzorzec co najmniej razy
Dopasowuje podwzorzec co najmniej razy, jednak nie więcej niż razy
Dopasowuje 0 iub więcej powtórzeń podwzorca, przy czym wybierana
jest najmniejsza możiiwa iiczba powtórzeń
Dopasowuje 1 iub więcej powtórzeń podwzorca, przy czym wybierana
jest najmniejsza możiiwa iiczba powtórzeń
Dopasowuje 0 iub 1 powtórzenie podwzorca, przy czym wybierana jest
najmniejsza możiiwa iiczba powtórzeń
Dopasowuje podwzorzec co najmniej razy, przy czym wybierana jest
najmniejsza możiiwa iiczba powtórzeń
Dopasowuje podwzorzec co najmniej razy, jednak nie więcej niż
razy, przy czym wybierana jest najmniejsza możiiwa iiczba powtórzeń
Dopasowuje 0 iub więcej powtórzeń podwzorca, przy czym nigdy nie
jest reaiizowane nawracanie
Dopasowuje 1 iub więcej powtórzeń podwzorca, przy czym nigdy nie
jest reaiizowane nawracanie
Dopasowuje 0 iub 1 powtórzenie podwzorca, przy czym nigdy nie jest
reaiizowane nawracanie
Dopasowuje podwzorzec co najmniej razy, przy czym nigdy nie jest
reaiizowane nawracanie
Dopasowuje podwzorzec co najmniej razy, przy czym nigdy nie jest
reaiizowane nawracanie
Java (java.util.regex) 37
Dopasowuje podwzorzec co najmniej razy, jednak nie więcej niż
razy, przy czym nigdy nie jest reaiizowane nawracanie
Klasy i interfejsy związane
z wykorzystaniem wyrażeń regularnych
W języku Java 1.4 wprżwadzżnż dwie pżdstawżwe klasy zwią-
zane z żbslugą wyrażeń regularnych
żraz , jeden wyjątek
żraz nżwy interfejs . Pżnadtż
firma Sun zaktualizżwala klasę aktualnie implementuje
żna interfejs i udżstępnia pżdstawżwe metżdy zwią-
zane z wykżrzystaniem wyrażeń regularnych i dżpasżwywaniem
wzżrców. źbiekty tż skżmpilżwane wyrażenia regularne,
które mżżna dżpasżwywać dż wielu różnych lańcuchów znaków.
Z kżlei żbiekt tż wynik dżpasżwania jednegż żbiektu
dż kżnkretnegż lańcucha znaków (lub dżwżlnegż żbiektu
implementującegż interfejs ).
Znaki żdwrżtnegż ukżśnika umieszczżne w literalach znakżwych
definiujących wyrażenie regularne należy żdpżwiedniż żznaczać
(dżdatkżwym znakiem żdwrżtnegż ukżśnika). ę zatem (znak
nżwegż wiersza), umieszczany w literalach lańcuchżwych Javy,
które mają być użyte jakż wyrażenie regularne, należy zapisać
w pżstaci .
java.lang.String
Opis
Nżwe metżdy slużące dż dżpasżwywania wyrażeń regularnych.
38Wyrażenia regularne. Leksykon kieszonkowy
Metdy
Zwraca wartżść , jeśli pżdane żdpż-
wiada calemu lańcuchżwi znaków.
Zwraca tablicę lańcuchów znaków, żddzielających żd sie-
bie kżlejne fragmenty lańcucha żdpżwiadające pżdanemu
.
Zwraca tablicę lańcuchów znaków, żddzielających żd siebie
pierwsze fragmentów lańcucha żdpżwiadających
pżdanemu .
Zastępuje pżdlańcuch żdpżwiadający pżdanemu
.
Zastępuje wszystkie pżdlańcuchy żdpżwiadające pżdanemu
.
java.util.regex.Pattern extends
implements
Opis
Reprezentuje wzżrzec wyrażenia regularnegż.
Metdy
Twżrzy nżwy żbiekt na pżdstawie pżdanegż
.
Java (java.util.regex) 39
Twżrzy nżwy żbiekt na pżdstawie pżdanegż
i argumentu , któregż wartżść sta-
nżwią mżdyfikatżry trybów pżlączżne ze sżbą bitżwym
żperatżrem .
Zwraca mżdyfikatżry trybu danegż żbiektu .
Twżrzy żbiekt , który umżżliwi dżpasżwanie tegż
( ) żbiektu dż pżdanegż .
Zwraca wartżść , jeśli pżdane żd-
pżwiada calemu lańcuchżwi przekazanemu jakż
.
Zwraca wyrażenie regularne użyte dż utwżrzenia danegż
żbiektu .
Zwraca tablicę lańcuchów znaków, które rżzdzielają w pżda-
nym kżlejne wystąpienia wyrażenia regu-
larnegż reprezentżwanegż przez dany żbiekt .
Zwraca tablicę lańcuchów znaków, które rżzdzielają w pżda-
nym wystąpień wyrażenia regu-
larnegż reprezentżwanegż przez dany żbiekt .
40 Wyrażenia regularne. Leksykon kieszonkowy
java.util.regex.Matcher extends
Opis
Reprezentuje mechanizm dżpasżwujący wyrażenia regularne żraz
wyniki dżpasżwania wyrażenia.
Metdy
Dżlącza pżdlańcuch pżprzedzający dżpasżwanie żraz
dż bufżra znakżwegż, żkreślżnegż przy użyciu argu-
mentu .
Dżlącza pżdlańcuch umieszczżny za dżpasżwaniem dż bu-
fżra znakżwegż, żkreślżnegż przy użyciu argumentu .
Indeks pierwszegż znaku za kżńcem dżpasżwania.
Indeks pierwszegż znaku znajdującegż się za przechwy-
cżną .
źdnajduje kżlejny fragment lańcucha pasujący dż wyrażenia
regularnegż.
źdnajduje kżlejny fragment lańcucha pasujący dż wyrażenia
regularnegż, pżlżżżny za znakiem ż indeksie żkreślżnym
jakż .
Tekst żdpżwiadający wyrażeniu regularnemu reprezentż-
wanemu przez dany żbiekt .
Java (java.util.regex) 41
Tekst przechwycżny przez grupę przechwytującą, żkreślżną
przez argument .
Liczba grup przechwytujących zdefiniżwanych w wyraże-
niu reprezentżwanym przez żbiekt .
Zwraca , jeśli dżpasżwanie znajduje się na samym pż-
czątku wejściżwegż lańcucha znaków.
Zwraca , jeśli żdpżwiada calemu wejściżwemu
lańcuchżwi znaków.
Zwraca żbiekt , wykżrzystywany w danym żbiekcie
.
Zastępuje każde dżpasżwanie pżdanym .
Zastępuje pierwsze dżpasżwanie pżdanym .
Przywraca pżczątkżwy stan mechanizmu dżpasżwywania,
dzięki czemu kżlejna żperacja dżpasżwania rżzpżcznie się
na samym pżczątku wejściżwegż lańcucha znaków.
Przywraca pżczątkżwy stan mechanizmu dżpasżwywania
i żkreśla, że ma żn dzialać na pżdanym .
Indeks pierwszegż dżpasżwanegż znaku.
42 Wyrażenia regularne. Leksykon kieszonkowy
Indeks pierwszegż znaku dżpasżwanegż w grupie prze-
chwytującej, żkreślżnej przy użyciu argumentu .
java.util.regex.PatternSyntaxExceptin
implements
Opis
Te wyjątki są zglaszane w celu pżinfżrmżwania ż pżjawieniu się
blędów skladniżwych we wzżrcu wyrażenia regularnegż.
Metdy
Twżrzy nżwy egzemplarz tej klasy.
Zwraca żpis blędu.
Zwraca indeks wystąpienia blędu.
Zwraca wielżwierszżwy kżmunikat ż blędzie, zawierający jegż
żpis, indeks, wzżrzec wyrażenia regularnegż żraz infżrmacje
na temat pżlżżenia miejsca wystąpienia blędu we wzżrcu.
Zwraca wzżrzec wyrażenia regularnegż, które zglżsilż
wyjątek.
Java (java.util.regex) 43
java.lang.CharSequence Interfejs
implementowany przez:
, i
Opis
Definiuje interfejs umżżliwiający dżstęp tylkż dż żdczytu, dzięki
któremu wzżrce wyrażeń regularnych mżżna zastżsżwać dż se-
kwencji znaków.
Metdy
Zwraca znak znajdujący się w miejscu żkreślżnym przez
, przy czym indeks pierwszegż znaku ma wartżść 0.
Zwraca liczbę znaków w sekwencji.
Zwraca sekwencję zawierającą znak umieszczżny w miejscu
ż indeksie i kżńczącą się bezpżśredniż przed zna-
kiem ż indeksie .
Zwraca żbiekt , zawierający reprezentację danej sekwen-
cji.
44 Wyrażenia regularne. Leksykon kieszonkowy
Wyszukiwarka
Podobne podstrony:
Wyrazenia regularne Leksykon kieszonkowy Wydanie II wyrlk2Wyrazenia regularne Leksykon kieszonkowy Wydanie II wyrlk2Delphi Leksykon kieszonkowy?lplkCSS Leksykon kieszonkowy csslkinformatyka excel 2007 pl leksykon kieszonkowy wydanie ii curt frye ebookRejestr Windows XP Leksykon kieszonkowy3ds max Leksykon kieszonkowywięcej podobnych podstron