Spis treści
Przedmowa
Jak nie wpaść w pułapkę wielu różnych wersji
Docelowa grupa odbiorców
Omawiane technologie
Zawartość tej książki
Konwencje obowiązujące w tej książce
Korzystanie z przykładowych fragmentów kodu
Podziękowania
1. Wprowadzenie do wyrażeń regularnych
Definicja wyrażeń regularnych
Przeszukiwanie i zastępowanie tekstu z wykorzystaniem wyrażeń regularnych
Narzędzia do pracy z wyrażeniami regularnymi
2. Podstawowe techniki budowania wyrażeń regularnych
2.1. Dopasowywanie stałego tekstu
2.2. Dopasowywanie znaków niedrukowanych
2.3. Dopasowywanie jednego z wielu znaków
2.4. Dopasowywanie dowolnego znaku
2.5. Dopasowywanie czegoś na początku i (lub) końcu wiersza
2.6. Dopasowywanie całych wyrazów
2.7. Punkty kodowe, właściwości, bloki i alfabety standardu Unicode
2.8. Dopasowywanie jednego z wielu alternatywnych wyrażeń
2.9. Grupowanie i przechwytywanie fragmentów dopasowań
2.10. Ponowne dopasowanie już dopasowanego tekstu
2.11. Przechwytywanie i nazywanie fragmentów dopasowań
2.12. Powtarzanie fragmentu wyrażenia regularnego określoną liczbę razy
2.13. Wybieranie minimalnego lub maksymalnego z powtórzeń
2.14. Eliminowanie niepotrzebnych nawrotów
2.15. Zapobieganie niekończącym się powtórzeniom
2.16. Testowanie dopasowań bez ich dodawania do właściwego dopasowania
2.17. Dopasowywanie jednej lub dwóch alternatyw zależnie od pewnego warunku
2.18. Dodawanie komentarzy do wyrażeń regularnych
2.19. Umieszczanie stałego tekstu w tekście docelowym operacji wyszukiwania i zastępowania
2.20. Umieszczanie dopasowania wyrażenia regularnego w tekście docelowym operacji wyszukiwania i zastępowania
2.21. Umieszczanie fragmentu wyrażenia regularnego w tekście docelowym operacji wyszukiwania i zastępowania
2.22. Umieszczanie kontekstu dopasowania w tekście docelowym operacji wyszukiwania i zastępowania
3. Programowanie z wykorzystaniem wyrażeń regularnych
Języki programowania i odmiany wyrażeń regularnych
3.1. Stałe wyrażenia regularne w kodzie źródłowym
3.2. Importowanie biblioteki wyrażeń regularnych
3.3. Tworzenie obiektów wyrażeń regularnych
3.4. Ustawianie opcji wyrażeń regularnych
3.5. Sprawdzanie możliwości odnalezienia dopasowania w przetwarzanym łańcuchu
3.6. Sprawdzanie, czy dane wyrażenie regularne pasuje do całego przetwarzanego łańcucha
3.7. Uzyskiwanie dopasowanego tekstu
3.8. Określanie pozycji i długości dopasowania
3.9. Uzyskiwanie części dopasowanego tekstu
3.10. Uzyskiwanie listy wszystkich dopasowań
3.11. Iteracyjne przeszukiwanie wszystkich dopasowań
3.12. Filtrowanie dopasowań w kodzie proceduralnym
3.13. Odnajdywanie dopasowania w ramach innego dopasowania
3.14. Zastępowanie wszystkich dopasowań
3.15. Zastępowanie dopasowań z wykorzystaniem ich fragmentów
3.16. Zastępowanie dopasowań tekstem docelowym generowanym na poziomie kodu proceduralnego
3.17. Zastępowanie wszystkich dopasowań w ramach dopasowań do innego wyrażenia regularnego
3.18. Zastępowanie wszystkich dopasowań pomiędzy dopasowaniami do innego wyrażenia regularnego
3.19. Dzielenie łańcucha
3.20. Dzielenie łańcucha z zachowaniem dopasowań do wyrażenia regularnego
3.21. Przeszukiwanie kolejnych wierszy
4. Weryfikacja i formatowanie danych
4.1. Weryfikacja adresów poczty elektronicznej
4.2. Weryfikacja i formatowanie numerów telefonów stosowanych w Ameryce Północnej
4.3. Weryfikacja międzynarodowych numerów telefonów
4.4. Weryfikacja tradycyjnych formatów zapisu daty
4.5. Bardziej restrykcyjna weryfikacja tradycyjnych formatów zapisu daty
4.6. Weryfikacja tradycyjnych formatów godziny
4.7. Weryfikacja zgodności daty i godziny ze standardem ISO 8601
4.8. Ograniczanie danych wejściowych do znaków alfanumerycznych
4.9. Ograniczanie długości dopasowywanego tekstu
4.10. Ograniczanie liczby wierszy w przetwarzanym tekście
4.11. Weryfikacja pozytywnych odpowiedzi
4.12. Weryfikacja numerów ubezpieczenia społecznego (SSN) stosowanych w Stanach Zjednoczonych
4.13. Weryfikacja numerów ISBN
4.14. Weryfikacja amerykańskich kodów pocztowych
4.15. Weryfikacja kanadyjskich kodów pocztowych
4.16. Weryfikacja brytyjskich kodów pocztowych
4.17. Odnajdywanie adresów wskazujących skrytki pocztowe
4.18. Zmiana formatów nazwisk z „imię nazwisko” na „nazwisko, imię”
4.19. Weryfikacja numerów kart kredytowych
4.20. Europejskie numery płatników podatku VAT
5. Wyrazy, wiersze i znaki specjalne
5.1. Odnajdywanie określonego wyrazu
5.2. Odnajdywanie dowolnego wyrazu ze zbioru słów
5.3. Odnajdywanie podobnych wyrazów
5.4. Odnajdywanie wszystkich wyrazów z wyjątkiem określonego słowa
5.5. Odnajdywanie dowolnego słowa, po którym nie występuje pewien wyraz
5.6. Odnajdywanie dowolnego słowa, przed którym nie występuje pewien wyraz
5.7. Odnajdywanie wyrazów znajdujących się w pobliżu
5.8. Odnajdywanie powtarzających się wyrazów
5.9. Usuwanie powtarzających się wierszy
5.10. Dopasowywanie kompletnych wierszy zawierających określony wyraz
5.11. Dopasowywanie kompletnych wierszy, które nie zawierają określonego słowa
5.12. Obcinanie początkowych i końcowych znaków białych
5.13. Zastępowanie powtarzających się znaków białych pojedynczą spacją
5.14. Stosowanie znaków ucieczki dla metaznaków wyrażeń regularnych
6.1. Liczby całkowite
6. Liczby
6.2. Liczby szesnastkowe
6.3. Liczby binarne
6.4. Usuwanie początkowych zer
6.5. Liczby należące do określonego przedziału
6.6. Liczby szesnastkowe należące do określonego przedziału
6.7. Liczby zmiennoprzecinkowe
6.8. Liczby z separatorem tysiąca
6.9. Liczby rzymskie
7. Adresy URL, ścieżki i adresy internetowe
7.1. Weryfikacja adresów URL
7.2. Odnajdywanie adresów URL w dłuższym tekście
7.3. Odnajdywanie w dłuższym tekście adresów URL otoczonych cudzysłowami
7.4. Odnajdywanie w dłuższym tekście adresów URL z nawiasami okrągłymi
7.5. Umieszczanie adresów URL w łączach
7.6. Weryfikacja nazw URN
7.7. Weryfikacja poprawności adresów URL według ogólnych reguł
7.8. Wyodrębnianie schematu z adresu URL
7.9. Wyodrębnianie nazwy użytkownika z adresu URL
7.10. Wyodrębnianie nazwy hosta z adresu URL
7.11. Wyodrębnianie numeru portu z adresu URL
7.12. Wyodrębnianie ścieżki z adresu URL
7.13. Wyodrębnianie zapytania z adresu URL
7.14. Wyodrębnianie fragmentu z adresu URL
7.15. Weryfikacja nazw domen
7.16. Dopasowywanie adresów IPv4
7.17. Dopasowywanie adresów IPv6
7.18. Weryfikacja ścieżek systemu Windows
7.19. Dzielenie ścieżek systemu Windows na części składowe
7.20. Wyodrębnianie litery dysku ze ścieżki systemu Windows
7.21. Wyodrębnianie serwera i zasobu ze ścieżki UNC
7.22. Wyodrębnianie folderu ze ścieżki systemu operacyjnego Windows
7.23. Wyodrębnianie nazwy pliku ze ścieżki systemu Windows
7.24. Wyodrębnianie rozszerzenia pliku ze ścieżki systemu Windows
7.25. Usuwanie nieprawidłowych znaków z nazw plików
8. Języki znaczników i formaty wymiany danych
8.1. Odnajdywanie znaczników XML-a
8.2. Zastępowanie znaczników
znacznikami
8.3. Usuwanie wszystkich znaczników XML-a z wyjątkiem znaczników i
8.4. Dopasowywanie nazw XML-a
8.5. Konwersja zwykłego tekstu na kod HTML-a poprzez dodanie znaczników i
8.6. Odnajdywanie konkretnych atrybutów w znacznikach XML-a
8.7. Dodawanie atrybutu cellspacing do tych znaczników
, które jeszcze tego atrybutu nie zawierają
8.8. Usuwanie komentarzy XML-a
8.9. Odnajdywanie słów w ramach komentarzy XML-a
8.10. Zmiana separatora stosowanego w plikach CSV
8.11. Wyodrębnianie pól CSV z określonej kolumny
8.12. Dopasowywanie nagłówków sekcji pliku INI
8.13. Dopasowywanie bloków sekcji pliku INI
8.14. Dopasowywanie par nazwa-wartość w plikach INI
Skorowidz
O autorach
Kolofon