15
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: [email protected] PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ IDZ DO IDZ DO ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG KATALOG KSI¥¯EK KATALOG KSI¥¯EK TWÓJ KOSZYK TWÓJ KOSZYK CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK ZAMÓW CENNI K CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE SPIS TRECI SPIS TRECI DODAJ DO KOSZYKA DODAJ DO KOSZYKA KATALOG ONLINE KATALOG ONLINE 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¿liwoci, 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¿liwociami. 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 powiêconej wyra¿eniom regularnym — „Wyra¿enia regularne”, autorstwa Jeffreya E. F. Friedla. Dziêki niemu bêdziesz móg³ szybko okreliæ sk³adniê oraz szczególne cechy wyra¿eñ regularnych w dowolnym u¿ywanym jêzyku programowania.

Wyrażenia regularne. Leksykon kieszonkowy

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Wyrażenia regularne. Leksykon kieszonkowy

Wydawnictwo Helion

ul. Chopina 6

44-100 Gliwice

tel. (32)230-98-63

e-mail: [email protected]

PRZYK£ADOWY ROZDZIA£PRZYK£ADOWY ROZDZIA£

IDZ DOIDZ DO

ZAMÓW DRUKOWANY KATALOGZAMÓW DRUKOWANY KATALOG

KATALOG KSI¥¯EKKATALOG KSI¥¯EK

TWÓJ KOSZYKTWÓJ KOSZYK

CENNIK I INFORMACJECENNIK I INFORMACJE

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW CENNIKZAMÓW CENNIK

CZYTELNIACZYTELNIA

FRAGMENTY KSI¥¯EK ONLINEFRAGMENTY KSI¥¯EK ONLINE

SPIS TRE�CISPIS TRE�CI

DODAJ DO KOSZYKADODAJ DO KOSZYKA

KATALOG ONLINEKATALOG ONLINE

Wyra¿enia regularne.Leksykon kieszonkowyAutor: 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.

Page 2: Wyrażenia regularne. Leksykon kieszonkowy

Spis treści 3

Spis treści

O książce ...................................................................................5

Przedstawienie wyrażeń regularnychoraz zagadnień dopasowywania wzorców ........................7

Metaznaki, tryby oraz konstrukcje........................................................10

Reprezentacja znaków.............................................................................10

Perl 5.8 .....................................................................................22Obsł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) .............................................................33Obsługiwane metaznaki..........................................................................33

Klasy i interfejsy związane z wykorzystaniemwyrażeń regularnych ...........................................................................38

Obsługa Unicode......................................................................................44

Przykłady ..................................................................................................45

Inne źródła informacji .............................................................................47

.NET i C# .................................................................................48Obsługiwane metaznaki..........................................................................48

Klasy i interfejsy związane z wykorzystaniemwyrażeń regularnych ...........................................................................53

Obsługa Unicode......................................................................................59

Przykłady ..................................................................................................59

Inne źródła informacji .............................................................................62

Python......................................................................................62Obsługiwane metaznaki..........................................................................62

Obiekty i funkcje modułu re ..................................................................66

Page 3: Wyrażenia regularne. Leksykon kieszonkowy

4 Wyrażenia regularne. Leksykon kieszonkowy

Obsługa Unicode......................................................................................71

Przykłady ..................................................................................................72

Inne źródła informacji .............................................................................73

Biblioteka PCRE....................................................................73Obsługiwane metaznaki..........................................................................79

PCRE API ..................................................................................................79

Obsługa Unicode......................................................................................83

Przykłady ..................................................................................................84

Inne źródła informacji .............................................................................88

PHP ..........................................................................................88Obsługiwane metaznaki..........................................................................88

Funkcje obsługi wyrażeń regularnych..................................................93

Przykłady ..................................................................................................96

Inne źródła informacji .............................................................................98

Edytor vi..................................................................................98Obsługiwane metaznaki..........................................................................98

Dopasowywanie wzorców ...................................................................102

Przykłady ................................................................................................103

Inne źródła informacji ...........................................................................104

JavaScript..............................................................................104Obsługiwane metaznaki........................................................................104

Metody i obiekty związane z wykorzystaniemwyrażeń regularnych .........................................................................107

Przykłady ................................................................................................111

Inne źródła informacji ...........................................................................113

Programy obsługiwane z wiersza poleceń......................113Obsługiwane metaznaki........................................................................113

Inne źródła informacji ...........................................................................119

Skorowidz .............................................................................121

Page 4: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 33

����������� ������������������������������������������������ ������� ! !!

• Wyrażenia regularne, książka Jeffreya E. F. Friedla (wydaw-nictwo Helion) szczegółowo opisuje wyrażenia regularneuż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 ������������, opracowanego przezfirmę Sun. Choć istnieją także inne pakiety obsługujące wyrażeniaregularne, przeznaczone dla wcześniejszych wersji języka, to jed-nak standardem stanie się zapewne pakiet firmy Sun. W pakiecietym wykorzystywany jest tradycyjny mechanizm dopasowywaniaNFA. Wyjaśnienie zasad działania tego mechanizmu możnaznaleźć w rozdziale pod tytułem „Przedstawienie wyrażeń regu-larnych oraz zagadnień dopasowywania wzorców”.

Obsługiwane metaznaki

Pakiet ������������ obsługuje metaznaki oraz metasekwencjeprzedstawione w tabelach od 10. do 14. Bardziej szczegółoweopisy poszczególnych metaznaków można znaleźć w części zaty-tułowanej „Metaznaki, tryby oraz konstrukcje”.

Tabela 10. Reprezentacje znaków

Sekwencja Znaczenie

� Alarm (dzwonek)

� Znak cofnięcia; ���, obsługiwany wyłącznie w klasie znaków

Znak ESC, ���

� Znak nowego wiersza, ���

Page 5: Wyrażenia regularne. Leksykon kieszonkowy

34 Wyrażenia regularne. Leksykon kieszonkowy

!" ������� ! ����������� ������������������������������������������������

Znak powrotu karetki, ���

Tabela 10. Reprezentacje znaków — ciąg dalszy

Sekwencja Znaczenie

� Znak wysunięcia kartki, ���

� Znak tabulacji poziomej, ���

��������� Znak reprezentowany przez jedno-, dwu- lub trzycyfrową liczbęósemkową

����������� Znak reprezentowany przez jedno- lub dwucyfrową liczbęszesnastkową

����������� Znak reprezentowany przez czterocyfrowy kod szesnastkowyUnicode

��� Znak sterujący o podanej nazwie

Tabela 11. Klasy znaków oraz skrótowe zapisy klas

Klasa Znaczenie

����� Pojedynczy znak podany lub zawierający się w określonymzakresie

������ Pojedynczy znak, który nie został podany lub nie zawiera sięw określonym zakresie

� Dowolny 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; ��!��

� Dowolny znak nie będący cyfrą; ���!��

' odstęp; �( � � � ����

) Dowolny znak nie będący odstępem; ��( � � � ����

*+��� ���� �, Znak należący do określonej klasy znaków POSIX bądźwłaściwości lub bloku Unicode

-+��� ���� �, Znak, który nie należy do określonej klasy znaków POSIXani właściwości lub bloku Unicode

Page 6: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 35

����������� ������������������������������������������������ ������� ! !#

Tabela 12. Punkty zakotwiczenia i warunki zerowej długości

Sekwencja Znaczenie

� Początek łańcucha znaków lub, w trybie wielowierszowym (./��0�012),

miejsce położone bezpośrednio za znakiem nowego wiersza

� Początek łańcucha znaków, niezależnie od używanego trybudopasowywania

3 Koniec łańcucha znaków lub, w trybie wielowierszowym (./��0�012),

miejsce położone bezpośrednio przed dowolnym znakiem nowego wiersza

# Koniec łańcucha znaków lub miejsce położone przed znakiem nowegowiersza kończącym wejściowy łańcuch znaków, niezależnie od używanegotrybu dopasowywania

" Koniec łańcucha znaków, niezależnie od używanego trybu dopasowywania

� Granica słowa

� Dowolne miejsce, które nie jest granicą słowa

4 Początek aktualnego wyszukiwania

567���8 Pozytywne przewidywanie

569���8 Negatywne przewidywanie

5:7���8 Pozytywne przewidywanie wsteczne

5:9���8 Negatywne przewidywanie wsteczne

Tabela 13. Komentarze i modyfikatory trybu

Modyfikator(sekwencja)

Znaktrybu

Znaczenie

-�����/10;$�012)

& Traktuje znak �(jako jedyny znak końca wiersza

-����������� ' Kropka (�) odpowiada dowolnemu znakowi, w tym

także znakowi zakończenia wiersza

-�����./��0�012 < Metaznaki � oraz 3 pasują do miejsc położonych

tuż obok osadzonych znaków końca wiersza

-�������..21�) � Ignoruje odstępy i pozwala na umieszczaniekomentarzy w wyrażeniu regularnym

Page 7: Wyrażenia regularne. Leksykon kieszonkowy

36 Wyrażenia regularne. Leksykon kieszonkowy

!$ ������� ! ����������� ������������������������������������������������

-�������)2$01)21)0�0=2

� Podczas dopasowywania nie będzie uwzględnianawielkość liter należących do kodu ASCII

Tabela 13. Komentarze i modyfikatory trybu — ciąg dalszy

Modyfikator(sekwencja)

Znaktrybu

Znaczenie

-�����/10���2$��)2

� Podczas dopasowywania nie będzie uwzględnianawielkość liter Unicode

-�������1�1$2> 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 takiejsamej reprezentacji wizualnej są traktowane jakoidentyczne

56����8 Włącza podane tryby (�&<'��) w dalszej części

podwyrażenia

56!����8 Wyłącza podane tryby (�&<'��) w dalszej części

podwyrażenia

56����?��.8 Włącza podane tryby (�&<'��) w wyrażeniu

podanym pomiędzy dwukropkiem i nawiasemzamykającym

56!����?���8 Wyłącza podane tryby (�&<'��) w wyrażeniu

podanym pomiędzy dwukropkiem i nawiasemzamykającym

@��� W trybie A� sprawia, że wszystkie znaki do

końca wiersza będą traktowane jako komentarz

Tabela 14. Grupowanie, przechwytywanie, konstrukcje warunkowei sterowanie

Sekwencja Znaczenie

5���8 Grupuje podwzorce, przechwytuje pasujące do nich łańcuchy znaków

i zapamiętuje je w metaznakach �, B, … oraz 3�, 3B, …

Zawiera tekst odpowiadający -tej grupie przechwytującej

3 W łańcuchu zamiennika zawiera tekst dopasowany do -tej grupy

przechwytującej

Page 8: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 37

����������� ������������������������������������������������ ������� ! !%

56?���8 Grupuje podwzorce, lecz nie powoduje przechwycenia i zapamiętaniapasujących do nich łańcuchów znaków

56C���8 Nie pozwala na powtórne wykorzystanie tekstu pasującego do podwzorca

Tabela 14. Grupowanie, przechwytywanie, konstrukcje warunkowei sterowanie — ciąg dalszy

Sekwencja Znaczenie

���D��� Sprawdza alternatywne podwzorce

E Dopasowuje podwzorzec 0 lub więcej razy

F Dopasowuje podwzorzec 1 lub więcej razy

6 Dopasowuje podwzorzec 1 lub 0 razy

+, Dopasowuje podwzorzec dokładnie razy

+G, Dopasowuje podwzorzec co najmniej razy

+�G�, Dopasowuje podwzorzec co najmniej � razy, jednak nie więcej niż � razy

E6 Dopasowuje 0 lub więcej powtórzeń podwzorca, przy czym wybieranajest najmniejsza możliwa liczba powtórzeń

F6 Dopasowuje 1 lub więcej powtórzeń podwzorca, przy czym wybieranajest najmniejsza możliwa liczba powtórzeń

66 Dopasowuje 0 lub 1 powtórzenie podwzorca, przy czym wybierana jestnajmniejsza możliwa liczba powtórzeń

+G,6 Dopasowuje podwzorzec co najmniej razy, przy czym wybierana jest

najmniejsza możliwa liczba powtórzeń

+�G�,6 Dopasowuje podwzorzec co najmniej � razy, jednak nie więcej niż �razy, przy czym wybierana jest najmniejsza możliwa liczba powtórzeń

EF Dopasowuje 0 lub więcej powtórzeń podwzorca, przy czym nigdy niejest realizowane nawracanie

FF Dopasowuje 1 lub więcej powtórzeń podwzorca, przy czym nigdy niejest realizowane nawracanie

6F Dopasowuje 0 lub 1 powtórzenie podwzorca, przy czym nigdy nie jestrealizowane nawracanie

+,F Dopasowuje podwzorzec co najmniej razy, przy czym nigdy nie jest

realizowane nawracanie

+G,F Dopasowuje podwzorzec co najmniej razy, przy czym nigdy nie jest

realizowane nawracanie

Page 9: Wyrażenia regularne. Leksykon kieszonkowy

38 Wyrażenia regularne. Leksykon kieszonkowy

!& ������� ! ����������� ������������������������������������������������

+�G�,F Dopasowuje podwzorzec co najmniej � razy, jednak nie więcej niż �razy, przy czym nigdy nie jest realizowane nawracanie

Klasy i interfejsy związanez wykorzystaniem wyrażeń regularnych

W języku Java 1.4 wprowadzono dwie podstawowe klasy zwią-zane z obsługą wyrażeń regularnych — �������������-����oraz �������������.���H, jeden wyjątek — �������������-����)I����2��*��J� oraz nowy interfejs — �H�)K���. Ponadtofirma Sun zaktualizowała klasę )���� — aktualnie implementujeona interfejs �H�)K��� i udostępnia podstawowe metody zwią-zane z wykorzystaniem wyrażeń regularnych i dopasowywaniemwzorców. Obiekty -���� to skompilowane wyrażenia regularne,które można dopasowywać do wielu różnych łańcuchów znaków.Z kolei obiekt .���H to wynik dopasowania jednego obiektu-���� do konkretnego łańcucha znaków (lub dowolnego obiektuimplementującego interfejs �H�)K���).

Znaki odwrotnego ukośnika umieszczone w literałach znakowychdefiniujących wyrażenie regularne należy odpowiednio oznaczać(dodatkowym znakiem odwrotnego ukośnika). A zatem � (znaknowego wiersza), umieszczany w literałach łańcuchowych Javy,które mają być użyte jako wyrażenie regularne, należy zapisaćw postaci �.

java.lang.String

Opis

Nowe metody służące do dopasowywania wyrażeń regularnych.

Page 10: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 39

����������� ������������������������������������������������ ������� ! !'

Metody

�JJ���(<���H'5)����(���������������8Zwraca wartość ��, jeśli podane ��������������� odpo-wiada całemu łańcuchowi znaków.

)������('*���5)����(���������������8Zwraca tablicę łańcuchów znaków, oddzielających od sie-bie kolejne fragmenty łańcucha odpowiadające podanemu�����������������.

)������('*���5)����(���������������G(���(�����8Zwraca tablicę łańcuchów znaków, oddzielających od siebiepierwsze �����!� fragmentów łańcucha odpowiadającychpodanemu �����������������.

)����(*���L�'�5)����(���������������G()����(������8Zastępuje podłańcuch odpowiadający podanemu ������������������ ���������.

)����(*������5)����(���������������G()����(������8Zastępuje wszystkie podłańcuchy odpowiadające podanemu����������������� ���������.

java.util.regex.Pattern extends(�����

implements()����"���

Opis

Reprezentuje wzorzec wyrażenia regularnego.

Metody

'�����(-����(�J<*��5)����(���������������8Tworzy nowy obiekt -���� na podstawie podanego ������������������.

Page 11: Wyrażenia regularne. Leksykon kieszonkowy

40 Wyrażenia regularne. Leksykon kieszonkowy

" ������� ! ����������� ������������������������������������������������

'�����(-����(�J<*��5)����(���������������G(���(�����8Tworzy nowy obiekt -���� na podstawie podanego ������������������ i argumentu �����, którego wartość sta-nowią modyfikatory trybów połączone ze sobą bitowymoperatorem �M.

���(����'58Zwraca modyfikatory trybu danego obiektu -����.

.���H(<���H5�H�)K���(���������������8Tworzy obiekt .���H, który umożliwi dopasowanie tego(�H�') obiektu -���� do podanego ������������������.

'�����(�JJ���(<���H'5)����(���������������G(�H�)K�������������������8

Zwraca wartość ��, jeśli podane ��������������� od-powiada całemu łańcuchowi przekazanemu jako ����������������.

)����(*����58Zwraca wyrażenie regularne użyte do utworzenia danegoobiektu -����.

)������('*���5�H�)K���(���������������8Zwraca tablicę łańcuchów znaków, które rozdzielają w poda-nym ����������������� kolejne wystąpienia wyrażenia regu-larnego reprezentowanego przez dany obiekt -����.

)������('*���5�H�)K���(���������������G(���(�����8Zwraca tablicę łańcuchów znaków, które rozdzielają w poda-nym ����������������� �����!�(wystąpień wyrażenia regu-larnego reprezentowanego przez dany obiekt -����.

Page 12: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 41

����������� ������������������������������������������������ ������� ! "�

java.util.regex.Matcher extends(�����

Opis

Reprezentuje mechanizm dopasowujący wyrażenia regularne orazwyniki dopasowania wyrażenia.

Metody

.���H(�**�&M*���<��5)��������(��G()����(������8Dołącza podłańcuch poprzedzający dopasowanie oraz ������� do bufora znakowego, określonego przy użyciu argu-mentu ��.

)��������(�**�&����5)��������(��8Dołącza podłańcuch umieszczony za dopasowaniem do bu-fora znakowego, określonego przy użyciu argumentu ��.

���(�&58Indeks pierwszego znaku za końcem dopasowania.

���(�&5���(�����8Indeks pierwszego znaku znajdującego się za przechwy-coną �����.

�JJ���(���&58Odnajduje kolejny fragment łańcucha pasujący do wyrażeniaregularnego.

�JJ���(���&5���(�������8Odnajduje kolejny fragment łańcucha pasujący do wyrażeniaregularnego, położony za znakiem o indeksie określonymjako �������.

)����(�J�*58Tekst odpowiadający wyrażeniu regularnemu reprezento-wanemu przez dany obiekt -����.

Page 13: Wyrażenia regularne. Leksykon kieszonkowy

42 Wyrażenia regularne. Leksykon kieszonkowy

"� ������� ! ����������� ������������������������������������������������

)����(�J�*5���(�����8Tekst przechwycony przez grupę przechwytującą, określonąprzez argument �����.

���(�J�*�J���58Liczba grup przechwytujących zdefiniowanych w wyraże-niu reprezentowanym przez obiekt -����.

�JJ���(�JJN�����58Zwraca ��, jeśli dopasowanie znajduje się na samym po-czątku wejściowego łańcucha znaków.

�JJ���(<���H'58Zwraca ��, jeśli -���� odpowiada całemu wejściowemułańcuchowi znaków.

-����(*����58Zwraca obiekt -����, wykorzystywany w danym obiekcie.���H.

)����(*������5)����(������8Zastępuje każde dopasowanie podanym ���������.

)����(*���L�'�5)����(������8Zastępuje pierwsze dopasowanie podanym ���������.

.���H('�58Przywraca początkowy stan mechanizmu dopasowywania,dzięki czemu kolejna operacja dopasowania rozpocznie sięna samym początku wejściowego łańcucha znaków.

.���H('�5�H�)K���(���������������8Przywraca początkowy stan mechanizmu dopasowywaniai określa, że ma on działać na podanym �����������������.

���('���58Indeks pierwszego dopasowanego znaku.

Page 14: Wyrażenia regularne. Leksykon kieszonkowy

Java (java.util.regex) 43

����������� ������������������������������������������������ ������� ! "!

���('���5���(�����8Indeks pierwszego znaku dopasowanego w grupie prze-chwytującej, określonej przy użyciu argumentu �����.

java.util.regex.PatternSyntaxExceptionimplements()����"���

Opis

Te wyjątki są zgłaszane w celu poinformowania o pojawieniu siębłędów składniowych we wzorcu wyrażenia regularnego.

Metody

-����)I����2��*��J�5)����(&'�G()����(��G(���(��&�8Tworzy nowy egzemplarz tej klasy.

)����(���'��*��J�58Zwraca opis błędu.

���(��0�&�58Zwraca indeks wystąpienia błędu.

)����(��.''��58Zwraca wielowierszowy komunikat o błędzie, zawierający jegoopis, indeks, wzorzec wyrażenia regularnego oraz informacjena temat położenia miejsca wystąpienia błędu we wzorcu.

)����(��-����58Zwraca wzorzec wyrażenia regularnego, które zgłosiłowyjątek.

Page 15: Wyrażenia regularne. Leksykon kieszonkowy

44 Wyrażenia regularne. Leksykon kieszonkowy

"" ������� ! ����������� ������������������������������������������������

java.lang.CharSequence Interfejs

implementowany przez:�H�����, )���� i )��������

Opis

Definiuje interfejs umożliwiający dostęp tylko do odczytu, dziękiktóremu wzorce wyrażeń regularnych można zastosować do se-kwencji znaków.

Metody

�H�(�H���5���(��&N'8Zwraca znak znajdujący się w miejscu określonym przez� ���, przy czym indeks pierwszego znaku ma wartość 0.

���(����H58Zwraca liczbę znaków w sekwencji.

�H�)K���('��)K���5���(*J�"��NG(���(NJ���8Zwraca sekwencję zawierającą znak umieszczony w miejscuo indeksie ������� i kończącą się bezpośrednio przed zna-kiem o indeksie �����.

)����(�J)����58

Zwraca obiekt )����, zawierający reprezentację danej sekwen-cji.