wyrażenia regularne. receptury cała książka.pdf

(9631 KB) Pobierz
708409214 UNPDF
Wyra¿enia regularne.
Receptury
Autorzy: Jan Goyvaerts, Steven Levithan
T³umaczenie: Miko³aj Szczepaniak
ISBN: 978-83-246-2510-9
Format: 168 × 237, stron: 520
Poznaj i wykorzystaj mo¿liwoœci regexpów w codziennej pracy!
Jak wyra¿enia regularne mog¹ przyœpieszyæ Twoj¹ pracê?
Jak sprawdziæ poprawnoœæ danych?
Jak wykorzystaæ wyra¿enia regularne w pracy z plikami XML?
Wyra¿enie regularne (ang. regexp) to inaczej wzorzec, który okreœla zbiór
dopasowanych ³añcuchów znaków. Brzmi to prosto. Jednak przy pierwszym spotkaniu
z wyra¿eniami wcale tak nie jest. Zbiór znaków i symboli sk³adaj¹cy siê na wyra¿enie
regularne w niczym nie przypomina rzeczy, któr¹ chcia³byœ siê zaj¹æ. Wyra¿enia regularne
zawsze kojarz¹ siê pocz¹tkuj¹cemu u¿ytkownikowi co najmniej z wiedz¹ tajemn¹,
a czêsto wrêcz z magi¹. Warto im siê jednak przyjrzeæ, poznaæ je i polubiæ, a nastêpnie
wykorzystaæ mo¿liwoœci, jakie w nich drzemi¹.
Jedno jest pewne – te mo¿liwoœci s¹ spore. Autorzy b³yskawicznie zaprzyjaŸni¹ Ciê
z wyra¿eniami regularnymi – ksi¹¿ka nale¿y bowiem do znanej serii Receptury,
cechuj¹cej siê tym, ¿e proces nauki jest oparty na analizie rozwi¹zañ prawdziwych
problemów. Na samym pocz¹tku zdobêdziesz elementarn¹ wiedzê dotycz¹c¹ ró¿nych
typów dopasowania oraz dowiesz siê, jak unikaæ najczêstszych problemów.
Na kolejnych stronach nauczysz siê stosowaæ wyra¿enia regularne w ró¿nych jêzykach
programowania oraz wykorzystywaæ je do kontroli poprawnoœci danych i formatowania
ci¹gów znaków. Ponadto dowiesz siê, jak operowaæ na s³owach, wierszach, znakach
specjalnych oraz liczbach. Osobny rozdzia³ zosta³ poœwiêcony operacjom na adresach
URL oraz œcie¿kach dostêpu. Dziêki tej ksi¹¿ce szybko zg³êbisz tajniki wyra¿eñ
regularnych. Kolejny krok to wykorzystanie tej wiedzy w codziennej pracy!
Dopasowanie sta³ego tekstu
Dopasowanie znaków niedrukowanych
Dopasowania na pocz¹tku i koñcu wiersza
Wyra¿enia regularne dla ca³ych wyrazów
Wykorzystanie alternatywnych wyra¿eñ
Grupowanie dopasowañ
Eliminowanie nawrotów
Sposoby komentowania wyra¿eñ
Wyra¿enia regularne w jêzykach programowania
Weryfikacja i formatowanie danych z wykorzystaniem wyra¿eñ regularnych
Dopasowanie kompletnego wiersza
Praca z liczbami
Operacje na adresach URL, œcie¿kach i adresach internetowych
Wykorzystanie wyra¿eñ regularnych w pracy z plikami XML
SprawdŸ, jak wyra¿enia regularne mog¹ przyœpieszyæ Twoj¹ pracê!
708409214.001.png 708409214.002.png
Spis treci
Przedmowa ............................................................................................................................... 9
1. Wprowadzenie do wyrae regularnych ................................................................... 15
Definicja wyrae regularnych
15
Przeszukiwanie i zastpowanie tekstu z wykorzystaniem wyrae regularnych
20
Narzdzia do pracy z wyraeniami regularnymi
22
2. Podstawowe techniki budowania wyrae regularnych .......................................... 41
2.1. Dopasowywanie staego tekstu 42
2.2. Dopasowywanie znaków niedrukowanych 44
2.3. Dopasowywanie jednego z wielu znaków 47
2.4. Dopasowywanie dowolnego znaku 51
2.5. Dopasowywanie czego na pocztku i (lub) kocu wiersza 53
2.6. Dopasowywanie caych wyrazów 58
2.7. Punkty kodowe, waciwoci, bloki i alfabety standardu Unicode 61
2.8. Dopasowywanie jednego z wielu alternatywnych wyrae 73
2.9. Grupowanie i przechwytywanie fragmentów dopasowa 75
2.10. Ponowne dopasowanie ju dopasowanego tekstu 78
2.11. Przechwytywanie i nazywanie fragmentów dopasowa 80
2.12. Powtarzanie fragmentu wyraenia regularnego okrelon liczb razy 83
2.13. Wybieranie minimalnego lub maksymalnego z powtórze 86
2.14. Eliminowanie niepotrzebnych nawrotów 89
2.15. Zapobieganie niekoczcym si powtórzeniom 92
2.16. Testowanie dopasowa bez ich dodawania do waciwego dopasowania 95
2.17. Dopasowywanie jednej lub dwóch alternatyw zalenie od pewnego warunku 102
2.18. Dodawanie komentarzy do wyrae regularnych
104
2.19. Umieszczanie staego tekstu w tekcie docelowym
operacji wyszukiwania i zastpowania
106
2.20. Umieszczanie dopasowania wyraenia regularnego w tekcie docelowym
operacji wyszukiwania i zastpowania
109
3
708409214.003.png
2.21. Umieszczanie fragmentu wyraenia regularnego w tekcie docelowym
operacji wyszukiwania i zastpowania
111
2.22. Umieszczanie kontekstu dopasowania w tekcie docelowym
operacji wyszukiwania i zastpowania
114
3. Programowanie z wykorzystaniem wyrae regularnych ....................................... 117
Jzyki programowania i odmiany wyrae regularnych
117
3.1. Stae wyraenia regularne w kodzie ródowym
123
3.2. Importowanie biblioteki wyrae regularnych
129
3.3. Tworzenie obiektów wyrae regularnych
131
3.4. Ustawianie opcji wyrae regularnych
137
3.5. Sprawdzanie moliwoci odnalezienia dopasowania
w przetwarzanym acuchu
144
3.6. Sprawdzanie, czy dane wyraenie regularne pasuje
do caego przetwarzanego acucha
151
3.7. Uzyskiwanie dopasowanego tekstu
156
3.8. Okrelanie pozycji i dugoci dopasowania
161
3.9. Uzyskiwanie czci dopasowanego tekstu
167
3.10. Uzyskiwanie listy wszystkich dopasowa
173
3.11. Iteracyjne przeszukiwanie wszystkich dopasowa
179
3.12. Filtrowanie dopasowa w kodzie proceduralnym
185
3.13. Odnajdywanie dopasowania w ramach innego dopasowania
188
3.14. Zastpowanie wszystkich dopasowa
192
3.15. Zastpowanie dopasowa z wykorzystaniem ich fragmentów
199
3.16. Zastpowanie dopasowa tekstem docelowym
generowanym na poziomie kodu proceduralnego
204
3.17. Zastpowanie wszystkich dopasowa w ramach dopasowa
do innego wyraenia regularnego
211
3.18. Zastpowanie wszystkich dopasowa pomidzy dopasowaniami
do innego wyraenia regularnego 213
3.19. Dzielenie acucha 218
3.20. Dzielenie acucha z zachowaniem dopasowa do wyraenia regularnego 227
3.21. Przeszukiwanie kolejnych wierszy
231
4. Weryfikacja i formatowanie danych ........................................................................ 235
4.1. Weryfikacja adresów poczty elektronicznej
235
4.2. Weryfikacja i formatowanie numerów telefonów
stosowanych w Ameryce Pónocnej
241
4.3. Weryfikacja midzynarodowych numerów telefonów
246
4.4. Weryfikacja tradycyjnych formatów zapisu daty
248
4.5. Bardziej restrykcyjna weryfikacja tradycyjnych formatów zapisu daty
252
4.6. Weryfikacja tradycyjnych formatów godziny
256
4.7. Weryfikacja zgodnoci daty i godziny ze standardem ISO 8601
259
4
Spis treci
4.8. Ograniczanie danych wejciowych do znaków alfanumerycznych
263
4.9. Ograniczanie dugoci dopasowywanego tekstu
266
4.10. Ograniczanie liczby wierszy w przetwarzanym tekcie
270
4.11. Weryfikacja pozytywnych odpowiedzi
275
4.12. Weryfikacja numerów ubezpieczenia spoecznego (SSN)
stosowanych w Stanach Zjednoczonych
277
4.13. Weryfikacja numerów ISBN
279
4.14. Weryfikacja amerykaskich kodów pocztowych
286
4.15. Weryfikacja kanadyjskich kodów pocztowych
287
4.16. Weryfikacja brytyjskich kodów pocztowych
288
4.17. Odnajdywanie adresów wskazujcych skrytki pocztowe
288
4.18. Zmiana formatów nazwisk z „imi nazwisko” na „nazwisko, imi”
290
4.19. Weryfikacja numerów kart kredytowych
293
4.20. Europejskie numery patników podatku VAT
299
5. Wyrazy, wiersze i znaki specjalne ............................................................................ 307
5.1. Odnajdywanie okrelonego wyrazu 307
5.2. Odnajdywanie dowolnego wyrazu ze zbioru sów 310
5.3. Odnajdywanie podobnych wyrazów 312
5.4. Odnajdywanie wszystkich wyrazów z wyjtkiem okrelonego sowa 316
5.5. Odnajdywanie dowolnego sowa, po którym nie wystpuje pewien wyraz 318
5.6. Odnajdywanie dowolnego sowa, przed którym nie wystpuje pewien wyraz 319
5.7. Odnajdywanie wyrazów znajdujcych si w pobliu 323
5.8. Odnajdywanie powtarzajcych si wyrazów 329
5.9. Usuwanie powtarzajcych si wierszy 330
5.10. Dopasowywanie kompletnych wierszy zawierajcych okrelony wyraz 335
5.11. Dopasowywanie kompletnych wierszy, które nie zawieraj okrelonego sowa 337
5.12. Obcinanie pocztkowych i kocowych znaków biaych
338
5.13. Zastpowanie powtarzajcych si znaków biaych pojedyncz spacj
341
5.14. Stosowanie znaków ucieczki dla metaznaków wyrae regularnych
342
6. Liczby ......................................................................................................................... 347
6.1. Liczby cakowite
347
6.2. Liczby szesnastkowe
350
6.3. Liczby binarne
353
6.4. Usuwanie pocztkowych zer
354
6.5. Liczby nalece do okrelonego przedziau
355
6.6. Liczby szesnastkowe nalece do okrelonego przedziau
361
6.7. Liczby zmiennoprzecinkowe
364
6.8. Liczby z separatorem tysica
367
6.9. Liczby rzymskie
368
Spis treci
5
7. Adresy URL, cieki i adresy internetowe .................................................................371
7.1. Weryfikacja adresów URL 371
7.2. Odnajdywanie adresów URL w duszym tekcie 375
7.3. Odnajdywanie w duszym tekcie adresów URL otoczonych cudzysowami 377
7.4. Odnajdywanie w duszym tekcie adresów URL z nawiasami okrgymi
378
7.5. Umieszczanie adresów URL w czach
380
7.6. Weryfikacja nazw URN
381
7.7. Weryfikacja poprawnoci adresów URL wedug ogólnych regu
383
7.8. Wyodrbnianie schematu z adresu URL
388
7.9. Wyodrbnianie nazwy uytkownika z adresu URL
390
7.10. Wyodrbnianie nazwy hosta z adresu URL
392
7.11. Wyodrbnianie numeru portu z adresu URL
394
7.12. Wyodrbnianie cieki z adresu URL
396
7.13. Wyodrbnianie zapytania z adresu URL
399
7.14. Wyodrbnianie fragmentu z adresu URL
400
7.15. Weryfikacja nazw domen
401
7.16. Dopasowywanie adresów IPv4
403
7.17. Dopasowywanie adresów IPv6
406
7.18. Weryfikacja cieek systemu Windows
418
7.19. Dzielenie cieek systemu Windows na czci skadowe
421
7.20. Wyodrbnianie litery dysku ze cieki systemu Windows
425
7.21. Wyodrbnianie serwera i zasobu ze cieki UNC
426
7.22. Wyodrbnianie folderu ze cieki systemu operacyjnego Windows
427
7.23. Wyodrbnianie nazwy pliku ze cieki systemu Windows
430
7.24. Wyodrbnianie rozszerzenia pliku ze cieki systemu Windows
431
7.25. Usuwanie nieprawidowych znaków z nazw plików
432
8. Jzyki znaczników i formaty wymiany danych ........................................................435
8.1. Odnajdywanie znaczników XML-a
441
8.2. Zastpowanie znaczników <b> znacznikami <strong>
459
8.3. Usuwanie wszystkich znaczników XML-a z wyjtkiem znaczników
<em> i <strong>
462
8.4. Dopasowywanie nazw XML-a
465
8.5. Konwersja zwykego tekstu na kod HTML-a poprzez dodanie
znaczników <p> i <br>
471
8.6. Odnajdywanie konkretnych atrybutów w znacznikach XML-a
475
8.7. Dodawanie atrybutu cellspacing do tych znaczników <table>,
które jeszcze tego atrybutu nie zawieraj
479
8.8. Usuwanie komentarzy XML-a
482
8.9. Odnajdywanie sów w ramach komentarzy XML-a
486
8.10. Zmiana separatora stosowanego w plikach CSV
491
6
Spis treci
Zgłoś jeśli naruszono regulamin