Wyrażenia regularne są niezwykle potężnym mechanizmem służącym do 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ą 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 tego w identyczny sposób.
Książka 'Wyrażenia regularne. Leksykon kieszonkowy' zawiera krótką prezentację pojęć związanych z wyrażeniami regularnymi oraz omówienia ich najczęściej 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 w językach Perl, Java, Python, C# (i środowisku .NET), PHP, JavaScript, w bibliotece 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.
Darmowy fragment publikacji:
Wyra¿enia regularne.
Leksykon kieszonkowy
Autor: Tony Stubblebine
T³umaczenie: Piotr Rajca
ISBN: 83-7361-075-8
Tytu³ orygina³u: Regular Expressions Pocket Reference
Format: B5, stron: 128
Wyra¿enia regularne s¹ niezwykle potê¿nym mechanizmem s³u¿¹cym do
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¹
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
tego w identyczny sposób.
Ksi¹¿ka „Wyra¿enia regularne. Leksykon kieszonkowy” zawiera krótk¹ prezentacjê
pojêæ zwi¹zanych z wyra¿eniami regularnymi oraz omówienia ich najczêġciej
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
w jêzykach Perl, Java, Python, C# (i ġrodowisku .NET), PHP, JavaScript, w bibliotece
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.
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREĎCI
SPIS TREĎCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOĎCIACH
O NOWOĎCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
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
oraz zagadnień dopasowywania wzorców ........................7
Metaznaki, tryby oraz konstrukcje................................................... .....10
Reprezentacja znaków................................................... ..........................10
Perl 5.8 .....................................................................................22
Obsługiwane metaznaki................................................... .......................22
Operatory wyrażeń regularnych ................................................... ........27
Obsługa Unicode................................................... ...................................30
Przykłady ................................................... ...............................................31
Inne źródła informacji ................................................... ..........................32
Java (java.util.regex) .............................................................33
Obsługiwane metaznaki................................................... .......................33
Klasy i interfejsy związane z wykorzystaniem
wyrażeń regularnych ................................................... ........................38
Obsługa Unicode................................................... ...................................44
Przykłady ................................................... ...............................................45
Inne źródła informacji ................................................... ..........................47
.NET i C# .................................................................................48
Obsługiwane metaznaki................................................... .......................48
Klasy i interfejsy związane z wykorzystaniem
wyrażeń regularnych ................................................... ........................53
Obsługa Unicode................................................... ...................................59
Przykłady ................................................... ...............................................59
Inne źródła informacji ................................................... ..........................62
Python......................................................................................62
Obsługiwane metaznaki................................................... .......................62
Obiekty i funkcje modułu re ................................................... ...............66
Spis treści
3
Obsługa Unicode................................................... ...................................71
Przykłady ................................................... ...............................................72
Inne źródła informacji ................................................... ..........................73
Biblioteka PCRE....................................................................73
Obsługiwane metaznaki................................................... .......................79
PCRE API ................................................... ...............................................79
Obsługa Unicode................................................... ...................................83
Przykłady ................................................... ...............................................84
Inne źródła informacji ................................................... ..........................88
PHP ..........................................................................................88
Obsługiwane metaznaki................................................... .......................88
Funkcje obsługi wyrażeń regularnych..................................................93
Przykłady ................................................... ...............................................96
Inne źródła informacji ................................................... ..........................98
Edytor vi..................................................................................98
Obsługiwane metaznaki................................................... .......................98
Dopasowywanie wzorców ................................................... ................102
Przykłady ................................................... .............................................103
Inne źródła informacji ................................................... ........................104
JavaScript..............................................................................104
Obsługiwane metaznaki................................................... .....................104
Metody i obiekty związane z wykorzystaniem
wyrażeń regularnych ................................................... ......................107
Przykłady ................................................... .............................................111
Inne źródła informacji ................................................... ........................113
Programy obsługiwane z wiersza poleceń......................113
Obsługiwane metaznaki................................................... .....................113
Inne źródła informacji ................................................... ........................119
Skorowidz .............................................................................121
4
Wyrażenia regularne. Leksykon kieszonkowy
•
Wyrażenia regularne, książka Jeffreya E. F. Friedla (wydaw-
nictwo Helion) szczegółowo opisuje wyrażenia regularne
używane w języku Perl (strony 203 – 302).
•
perlre — to jeden z działów dokumentacji języka Perl, do-
stępnych w większości jego dystrybucji.
Java (java.util.regex)
W Java 1.4 obsługa wyrażeń regularnych została zaimplemen-
towana w formie pakietu LCXCWVKNTGIGZ, opracowanego przez
firmę Sun. Choć istnieją także inne pakiety obsługujące wyrażenia
regularne, przeznaczone dla wcześniejszych wersji języka, to jed-
nak standardem stanie się zapewne pakiet firmy Sun. W pakiecie
tym wykorzystywany jest tradycyjny mechanizm dopasowywania
NFA. Wyjaśnienie zasad działania tego mechanizmu można
znaleźć w rozdziale pod tytułem „Przedstawienie wyrażeń regu-
larnych oraz zagadnień dopasowywania wzorców”.
Obsługiwane metaznaki
Pakiet LCXCWVKNTGIGZ obsługuje metaznaki oraz metasekwencje
przedstawione w tabelach od 10. do 14. Bardziej szczegółowe
opisy poszczególnych metaznaków można znaleźć w części zaty-
tułowanej „Metaznaki, tryby oraz konstrukcje”.
Tabela 10. Reprezentacje znaków
Sekwencja
Znaczenie
C
D
G
P
Alarm (dzwonek)
Znak cofnięcia; Z, obsługiwany wyłącznie w klasie znaków
Znak ESC, Z$
Znak nowego wiersza, Z#
Java (java.util.regex)
33
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
T
Znak powrotu karetki, Z
Tabela 10. Reprezentacje znaków — ciąg dalszy
Sekwencja
Znaczenie
H
V
ÎUGOMQYC
Znak wysunięcia kartki, Z
Znak tabulacji poziomej, Z
Znak reprezentowany przez jedno-, dwu- lub trzycyfrowąw liczbę
ósemkową
ZUGUPCUVMQYC Znak reprezentowany przez jedno- lub dwucyfrową liczbwę
WUGUPCUVMQYC Znak reprezentowany przez czterocyfrowy kod szesnastkwowy
szesnastkową
EPCM
Znak sterujący o podanej nazwie
Unicode
Tabela 11. Klasy znaków oraz skrótowe zapisy klas
Klasa
=?
=@?
Y
9
F
U
Znaczenie
Pojedynczy znak podany lub zawierający się w określonywm
zakresie
Pojedynczy znak, który nie został podany lub nie zawiewra się
w określonym zakresie
Dowolny znak za wyjątkiem znaku nowego wiersza
(chyba że stosowany jest tryb 16#..)
Znak mogący tworzyć wyrazy; =C# A?
Znak, który nie może tworzyć wyrazów; =@C# A?
Cyfra; =?
Dowolny znak nie będący cyfrą; =@?
odstęp; = V P H T Z$?
Dowolny znak nie będący odstępem; =@ V P H T Z$?
5
R]YđCħEKYQħè_ Znak należący do określonej klasy znaków POSIX bądź
właściwości lub bloku Unicode
2]YđCħEKYQħè_ Znak, który nie należy do określonej klasy znaków POSIX
ani właściwości lub bloku Unicode
34
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
Tabela 12. Punkty zakotwiczenia i warunki zerowej długoścgi
Sekwencja
Znaczenie
@
#
D
$
)
!
!
Początek łańcucha znaków lub, w trybie wielowierszowymw (/7.6+.+0 ),
miejsce położone bezpośrednio za znakiem nowego wierswza
Początek łańcucha znaków, niezależnie od używanego trybwu
dopasowywania
Koniec łańcucha znaków lub, w trybie wielowierszowym (w/7.6+.+0 ),
miejsce położone bezpośrednio przed dowolnym znakiem wnowego wiersza
Koniec łańcucha znaków lub miejsce położone przed znakwiem nowego
wiersza kończącym wejściowy łańcuch znaków, niezależniew od używanego
trybu dopasowywania
Koniec łańcucha znaków, niezależnie od używanego trybu wdopasowywania
Granica słowa
Dowolne miejsce, które nie jest granicą słowa
Początek aktualnego wyszukiwania
Pozytywne przewidywanie
Negatywne przewidywanie
Pozytywne przewidywanie wsteczne
Negatywne przewidywanie wsteczne
Tabela 13. Komentarze i modyfikatory trybu
Modyfikator
(sekwencja)
Znak
trybu
Znaczenie
2CVVGTP70+:A
.+0 5
2CVVGTP 16#..
2CVVGTP/7.6+.+0
2CVVGTP 1// 065
F
U
O
Z
Traktuje znak Pjako jedyny znak końca wiersza
Kropka () odpowiada dowolnemu 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 pozwala na umieszczanie
komentarzy w wyrażeniu regularnym
Java (java.util.regex)
35
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
2CVVGTP #5 A
+05 05+6+8
K
Podczas dopasowywania nie będzie uwzględniana
wielkość liter należących do kodu ASCII
Tabela 13. Komentarze i modyfikatory trybu — ciąg dalszy
Modyfikator
(sekwencja)
2CVVGTP70+ 1 A
#5
2CVVGTP #010A 3
Znak
trybu
W
!VT[D
!VT[D
!VT[D.
!VT[D
Znaczenie
Podczas dopasowywania nie będzie uwzględniana
wielkość liter 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 wizualnej są traktowane jako
identyczne
Włącza podane tryby (KFOUWZ) w dalszej części
podwyrażenia
Wyłącza podane tryby (KFOUWZ) w dalszej części
podwyrażenia
Włącza podane tryby (KFOUWZ) w wyrażeniu
podanym pomiędzy dwukropkiem i nawiasem
zamykającym
Wyłącza podane tryby (KFOUWZ) w wyrażeniu
podanym pomiędzy dwukropkiem i nawiasem
zamykającym
W trybie Z sprawia, że wszystkie znaki do
końca wiersza będą traktowane jako komentarz
Tabela 14. Grupowanie, przechwytywanie, konstrukcje warungkowe
i sterowanie
Sekwencja
Znaczenie
P
P
Grupuje podwzorce, przechwytuje pasujące do nich łańcuchyw znaków
i zapamiętuje je w metaznakach , , … oraz , , …
Zawiera tekst odpowiadający P-tej grupie przechwytującej
W łańcuchu zamiennika zawiera tekst dopasowany do P-tej grupy
przechwytującej
36
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
!
!
Grupuje podwzorce, lecz nie powoduje przechwycenia i zwapamiętania
pasujących do nich łańcuchów znaków
Nie pozwala na powtórne wykorzystanie tekstu pasującego do podwzorca
Tabela 14. Grupowanie, przechwytywanie, konstrukcje warungkowe
i sterowanie — ciąg dalszy
Sekwencja
Znaczenie
^
!
]P_
]P_
]Z[_
!
!
!!
]P_!
]Z[_!
!
]P_
]P_
Sprawdza alternatywne podwzorce
Dopasowuje podwzorzec 0 lub więcej razy
Dopasowuje podwzorzec 1 lub więcej razy
Dopasowuje podwzorzec 1 lub 0 razy
Dopasowuje podwzorzec dokładnie P razy
Dopasowuje podwzorzec co najmniej P razy
Dopasowuje podwzorzec co najmniej Z razy, jednak nie więcej niż [ razy
Dopasowuje 0 lub więcej powtórzeń podwzorca, przy czym wwybierana
jest najmniejsza możliwa liczba powtórzeń
Dopasowuje 1 lub więcej powtórzeń podwzorca, przy czym wwybierana
jest najmniejsza możliwa liczba powtórzeń
Dopasowuje 0 lub 1 powtórzenie podwzorca, przy czym wywbierana jest
najmniejsza możliwa liczba powtórzeń
Dopasowuje podwzorzec co najmniej P razy, przy czym wybierana jest
najmniejsza możliwa liczba powtórzeń
Dopasowuje podwzorzec co najmniej Z razy, jednak nie więcej niż [
razy, przy czym wybierana jest najmniejsza możliwa licwzba powtórzeń
Dopasowuje 0 lub więcej powtórzeń podwzorca, przy czym wnigdy nie
jest realizowane nawracanie
Dopasowuje 1 lub więcej powtórzeń podwzorca, przy czym wnigdy nie
jest realizowane nawracanie
Dopasowuje 0 lub 1 powtórzenie podwzorca, przy czym niwgdy nie jest
realizowane nawracanie
Dopasowuje podwzorzec co najmniej P razy, przy czym nigdy nie jest
realizowane nawracanie
Dopasowuje podwzorzec co najmniej P razy, przy czym nigdy nie jest
realizowane nawracanie
Java (java.util.regex)
37
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
]Z[_
Dopasowuje podwzorzec co najmniej Z razy, jednak nie więcej niż [
razy, przy czym nigdy nie jest realizowane nawracaniwe
Klasy i interfejsy związane
z wykorzystaniem wyrażeń regularnych
W języku Java 1.4 wprowadzono dwie podstawowe klasy zwią-
zane z obsługą wyrażeń regularnych — LCXCWVKNTGIGZ2CVVGTP
oraz LCXCWVKNTGIGZ/CVEJGT, jeden wyjątek — LCXCWVKNTGIGZ
2CVVGTP5[PVCZ ZEGRVKQP oraz nowy interfejs — JCT5GSWGPEG. Ponadto
firma Sun zaktualizowała klasę 5VTKPI — aktualnie implementuje
ona interfejs JCT5GSWGPEG i udostępnia podstawowe metody zwią-
zane z wykorzystaniem wyrażeń regularnych i dopasowywaniem
wzorców. Obiekty 2CVVGTP to skompilowane wyrażenia regularne,
które można dopasowywać do wielu różnych łańcuchów znaków.
Z kolei obiekt /CVEJGT to wynik dopasowania jednego obiektu
2CVVGTP do konkretnego łańcucha znaków (lub dowolnego obiektu
implementującego interfejs JCT5GSWGPEG).
Znaki odwrotnego ukośnika umieszczone w literałach znakowych
definiujących wyrażenie regularne należy odpowiednio oznaczać
(dodatkowym znakiem odwrotnego ukośnika). A zatem P (znak
nowego wiersza), umieszczany w literałach łańcuchowych Javy,
które mają być użyte jako wyrażenie regularne, należy zapisać
w postaci P.
java.lang.String
Opis
Nowe metody służące do dopasowywania wyrażeń regularnyceh.
38
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
Metody
DQQNGCPOCVEJGU
5VTKPIY[TCGPKG4GIWNCTPG
Zwraca wartość VTWG, jeśli podane Y[TCGPKG4GIWNCTPG odpo-
wiada całemu łańcuchowi znaków.
5VTKPI=?URNKV
5VTKPIY[TCGPKG4GIWNCTPG
Zwraca tablicę łańcuchów znaków, oddzielających od sie-
bie kolejne fragmenty łańcucha odpowiadające podanemu
Y[TCGPKW4GIWNCTPGOW.
5VTKPI=?URNKV
5VTKPIY[TCGPKG4GIWNCTPGKPVNKOKV
Zwraca tablicę łańcuchów znaków, oddzielających od siebie
pierwsze NKOKV fragmentów łańcucha odpowiadających
podanemu Y[TCGPKW4GIWNCTPGOW.
5VTKPITGRNCEG(KTUV
5VTKPIY[TCGPKG4GIWNCTPG5VTKPICOKGPPKM
Zastępuje podłańcuch odpowiadający podanemu Y[TCGPKW
4GIWNCTPGOW COKGPPKMKGO.
5VTKPITGRNCEG#NN
5VTKPIY[TCGPKG4GIWNCTPG5VTKPICOKGPPKM
Zastępuje wszystkie podłańcuchy odpowiadające podanemu
Y[TCGPKW4GIWNCTPGOW COKGPPKMKGO.
java.util.regex.Pattern
extends1DLGEV
implements5GTKCNKCDNG
Opis
Reprezentuje wzorzec wyrażenia regularnego.
Metody
UVCVKE2CVVGTPEQORKNG
5VTKPIY[TCGPKG4GIWNCTPG
Tworzy nowy obiekt 2CVVGTP na podstawie podanego Y[TC
GPKC4GIWNCTPGIQ.
Java (java.util.regex)
39
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
UVCVKE2CVVGTPEQORKNG
5VTKPIY[TCGPKG4GIWNCTPGKPVHNCIK
Tworzy nowy obiekt 2CVVGTP na podstawie podanego Y[TC
GPKC4GIWNCTPGIQ i argumentu HNCIK, którego wartość sta-
nowią modyfikatory trybów połączone ze sobą bitowym
operatorem 14.
KPVHNCIU
Zwraca modyfikatory trybu danego obiektu 2CVVGTP.
/CVEJGTOCVEJGT
JCT5GSWGPEGNCPEWEJ9GLUEKQY[
Tworzy obiekt /CVEJGT, który umożliwi dopasowanie tego
(VJKU) obiektu 2CVVGTP do podanego NCPEWEJC9GLUEKQYGIQ.
UVCVKEDQQNGCPOCVEJGU
5VTKPIY[TCGPKG4GIWNCTPG JCT5GSWGPEG
NCPEWEJ9GLUEKQY[
Zwraca wartość VTWG, jeśli podane Y[TCGPKG4GIWNCTPG od-
powiada całemu łańcuchowi przekazanemu jako NCPEW
EJ9GLUEKQY[.
5VTKPIRCVVGTP
Zwraca wyrażenie regularne użyte do utworzenia danego
obiektu 2CVVGTP.
5VTKPI=?URNKV
JCT5GSWGPEGNCPEWEJ9GLUEKQY[
Zwraca tablicę łańcuchów znaków, które rozdzielają w poda-
nym NCPEWEJW9GLUEKQY[O kolejne wystąpienia wyrażenia regu-
larnego reprezentowanego przez dany obiekt 2CVVGTP.
5VTKPI=?URNKV
JCT5GSWGPEGNCPEWEJ9GLUEKQY[KPVNKOKV
Zwraca tablicę łańcuchów znaków, które rozdzielają w poda-
nym NCPEWEJW9GLUEKQY[O NKOKV wystąpień wyrażenia regu-
larnego reprezentowanego przez dany obiekt 2CVVGTP.
40
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
java.util.regex.Matcher
extends1DLGEV
Opis
Reprezentuje mechanizm dopasowujący wyrażenia regularne oraz
wyniki dopasowania wyrażenia.
Metody
/CVEJGTCRRGPF4GRNCEGOGPV
5VTKPI$WHHGTUD5VTKPICOKGPPKM
Dołącza podłańcuch poprzedzający dopasowanie oraz COKGP
PKM do bufora znakowego, określonego przy użyciu argu-
mentu UD.
5VTKPI$WHHGTCRRGPF6CKN
5VTKPI$WHHGTUD
Dołącza podłańcuch umieszczony za dopasowaniem do bu-
fora znakowego, określonego przy użyciu argumentu UD.
KPVGPF
Indeks pierwszego znaku za końcem dopasowania.
KPVGPF
KPVITWRC
Indeks pierwszego znaku znajdującego się za przechwy-
coną ITWRæ.
DQQNGCPHKPF
Odnajduje kolejny fragment łańcucha pasujący do wyrażenia
regularnego.
DQQNGCPHKPF
KPVRQECVGM
Odnajduje kolejny fragment łańcucha pasujący do wyrażenia
regularnego, położony za znakiem o indeksie określonym
jako RQECVGM.
5VTKPIITQWR
Tekst odpowiadający wyrażeniu regularnemu reprezento-
wanemu przez dany obiekt 2CVVGTP.
Java (java.util.regex)
41
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
5VTKPIITQWR
KPVITWRC
Tekst przechwycony przez grupę przechwytującą, określoną
przez argument ITWRC.
KPVITQWR QWPV
Liczba grup przechwytujących zdefiniowanych w wyraże-
niu reprezentowanym przez obiekt 2CVVGTP.
DQQNGCPNQQMKPI#V
Zwraca VTWG, jeśli dopasowanie znajduje się na samym po-
czątku wejściowego łańcucha znaków.
DQQNGCPOCVEJGU
Zwraca VTWG, jeśli 2CVVGTP odpowiada całemu wejściowemu
łańcuchowi znaków.
2CVVGTPRCVVGTP
Zwraca obiekt 2CVVGTP, wykorzystywany w danym obiekcie
/CVEJGT.
5VTKPITGRNCEG#NN
5VTKPICOKGPPKM
Zastępuje każde dopasowanie podanym COKGPPKMKGO.
5VTKPITGRNCEG(KTUV
5VTKPICOKGPPKM
Zastępuje pierwsze dopasowanie podanym COKGPPKMKGO.
/CVEJGTTGUGV
Przywraca początkowy stan mechanizmu dopasowywania,
dzięki czemu kolejna operacja dopasowania rozpocznie się
na samym początku wejściowego łańcucha znaków.
/CVEJGTTGUGV
JCT5GSWGPEGNCPEWEJ9GLUEKQY[
Przywraca początkowy stan mechanizmu dopasowywania
i określa, że ma on działać na podanym NCPEWEJW9GLUEKQY[O.
KPVUVCTV
Indeks pierwszego dopasowanego znaku.
42
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
KPVUVCTV
KPVITWRC
Indeks pierwszego znaku dopasowanego w grupie prze-
chwytującej, określonej przy użyciu argumentu ITWRC.
java.util.regex.PatternSyntaxException
implements5GTKCNKCDNG
Opis
Te wyjątki są zgłaszane w celu poinformowania o pojawieniu się
błędów składniowych we wzorcu wyrażenia regularnego.
Metody
2CVVGTP5[PVCZ ZEGRVKQP
5VTKPIFGUE5VTKPITGIGZKPVKPFGZ
Tworzy nowy egzemplarz tej klasy.
5VTKPIIGV GUETKRVKQP
Zwraca opis błędu.
KPVIGV+PFGZ
Zwraca indeks wystąpienia błędu.
5VTKPIIGV/GUUCIG
Zwraca wielowierszowy komunikat o błędzie, zawierający jego
opis, indeks, wzorzec wyrażenia regularnego oraz informacje
na temat położenia miejsca wystąpienia błędu we wzorcu.
5VTKPIIGV2CVVGTP
Zwraca wzorzec wyrażenia regularnego, które zgłosiło
wyjątek.
Java (java.util.regex)
43
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
NKU
java.lang.CharSequence
Interfejs
implementowany przez:
JCT$WHHGT, 5VTKPI i 5VTKPI$WHHGT
Opis
Definiuje interfejs umożliwiający dostęp tylko do odczytu, dzięki
któremu wzorce wyrażeń regularnych można zastosować do se-
kwencji znaków.
Metody
EJCTEJCT#V
KPVKPFGMU
Zwraca znak znajdujący się w miejscu określonym przez
KPFGMU, przy czym indeks pierwszego znaku ma wartość 0.
KPVNGPIVJ
Zwraca liczbę znaków w sekwencji.
JCT5GSWGPEGUWD5GSWGPEG
KPVRQECVGMKPVMQPKGE
Zwraca sekwencję zawierającą znak umieszczony w miejscu
o indeksie RQECVGM i kończącą się bezpośrednio przed zna-
kiem o indeksie MQPKGE.
5VTKPIVQ5VTKPI
Zwraca obiekt 5VTKPI, zawierający reprezentację danej sekwen-
cji.
44
Wyrażenia regularne. Leksykon kieszonkowy
NKU
#PFTGL 2 ( 9[TCľGPKCTGIWNCTPG.GMU[MQPMKGUQPMQY[ 9[TCNMFQE
Pobierz darmowy fragment (pdf)