Wyrażenia regularne Leksykon kieszonkowy


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 wyrlk2
Wyrazenia regularne Leksykon kieszonkowy Wydanie II wyrlk2
Delphi Leksykon kieszonkowy?lplk
CSS Leksykon kieszonkowy csslk
informatyka excel 2007 pl leksykon kieszonkowy wydanie ii curt frye ebook
Rejestr Windows XP Leksykon kieszonkowy
3ds max Leksykon kieszonkowy

więcej podobnych podstron