Wyrażenia regularne (RegEx) służą do dopasowywania ciągów znaków i manipulowania tekstem. Umożliwiają proste rozwiązywanie wielu złożonych problemów programistycznych. Szczególnie często są wykorzystywane przez twórców aplikacji. Nie istnieje jakiś specjalny język do obsługiwania wyrażeń regularnych, jednak znakomita większość języków programowania wspiera ich stosowanie. Wyrażenia regularne uchodzą za niezrozumiałe i trudne w implementacji, a ich składnia bywa określana jako zawiła i nieintuicyjna. Tymczasem największą barierą okazuje się jasne zrozumienie zagadnienia oraz prawidłowe określenie sposobu wykorzystania wyrażeń regularnych w praktyce.
Ta książka jest znakomitym podręcznikiem, dzięki któremu zaczniesz szybko i poprawnie stosować wyrażenia regularne w praktyce. W przystępny sposób wyjaśniono tu, czym są RegEx i jakie problemy mogą rozwiązać, a także jak należy (i jak nie należy) się nimi posługiwać. Przedstawiono wyrażenia regularne, które faktycznie należy znać, począwszy od prostych porównań tekstu, przez bardziej złożone tematy, takie jak stosowanie referencji wstecznych, oceny warunkowej i procesów przewidywania. Poszczególne zagadnienia wyłożono w metodyczny i prosty sposób, bogato ilustrując materiał praktycznymi, gotowymi do wykorzystania przykładami zaprezentowanymi w różnych językach programowania.
Dzięki tej książce nauczysz się:
- rozumieć wyrażenia regularne
- stosować tekst i metaznaki do budowania potężnych wzorców
- przeprowadzać złożone operacje typu znajdź-i-zamień
- dodawać wyrafinowane formuły i ciągi tekstowe do aplikacji WWW
- korzystać z wyrażeń regularnych w kilku językach programowania, takich jak JavaScript, Java, PHP, Python, Microsoft .NET i C# oraz w DBMS, w tym MySQL i Oracle
- pracować z numerami telefonów, kodami pocztowymi, numerami ubezpieczeń i kart kredytowych, adresami IP i e-mail oraz URL
RegEx: zrozum i używaj do woli!
Rozdziały:
-
- O autorze
- Wstęp
- Dla kogo jest ta książka?
- 1. Wstęp do wyrażeń regularnych
- Zrozumieć potrzebę
- Jak wykorzystywane są wyrażenia regularne?
- RegEx znajdź
- RegEx zamień
- Czym tak naprawdę są wyrażenia regularne?
- Użycie wyrażeń regularnych
- Przed rozpoczęciem
- Podsumowanie
- 2. Dopasowywanie pojedynczych znaków
- Dopasowanie dosłowne tekstu
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Ile dopasowań?
- Problem z wielkością liter
- Dopasowanie dowolnego znaku
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Dopasowanie znaków specjalnych
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 3. Dopasowywanie klasy znaków
- Dopasowanie jednego z kilku możliwych znaków
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Użycie klasy z przedziałem znaków
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Dopasowanie wszytko oprócz
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 4. Korzystanie z metaznaków
- Jeszcze raz o znakach ucieczki
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Znajdowanie białych znaków
- Tekst
- RegEx
- Wynik
- Analiza
- Znajdowanie klas znaków specjalnych
- Znajdowanie cyfr (i niecyfr)
- Tekst
- RegEx
- Wynik
- Analiza
- Znajdowanie znaków alfanumerycznych (i niealfanumerycznych)
- Tekst
- RegEx
- Wynik
- Analiza
- Znajdowanie białych znaków (i niebiałych znaków)
- Wartości w zapisie szesnastkowym i ósemkowym
- Użycie wartości szesnastkowych
- Użycie wartości ósemkowych
- Znajdowanie znaków z klasy POSIX
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 5. Powtórzenia
- Ile powtórzeń?
- Znalezienie jednego lub kilku znaków
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Znalezienie zera lub więcej znaków
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Znalezienie jednego lub żadnego znaku
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Użycie interwałów
- Dokładne dopasowanie interwału
- Tekst
- RegEx
- Wynik
- Analiza
- Przedziały wewnątrz interwałów
- Tekst
- RegEx
- Wynik
- Analiza
- Przedziały co najmniej
- Tekst
- RegEx
- Wynik
- Analiza
- Zapobieganie nadmiernemu dopasowaniu
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 6. Dopasowywanie położenia
- Wykorzystywanie granic
- Tekst
- RegEx
- Wynik
- Analiza
- Korzystanie z granic
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Definiowanie kotwic
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- RegEx
- Analiza
- Użycie trybu wieloliniowego
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 7. Korzystanie z podwyrażeń
- Zrozumieć podwyrażenia
- Tekst
- RegEx
- Wynik
- Analiza
- Grupowanie podwyrażeniami
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Zagnieżdżanie podwyrażeń
- RegEx
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 8. Korzystanie z referencji wstecznych
- Zrozumieć referencje wsteczne
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Dopasowywanie za pomocą referencji wstecznych
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Przeprowadzanie operacji zastępowania
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Zastąp
- Wynik
- Analiza
- Tekst
- RegEx
- Zastąp
- Wynik
- Analiza
- Konwersja wielkości znaków
- Tekst
- RegEx
- Zastąp
- Wynik
- Analiza
- Podsumowanie
- 9. Przewidywanie w przód i wstecz
- Wprowadzenie do grup przewidywania
- Tekst
- RegEx
- Wynik
- Analiza
- Przewidywanie w przód
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Przewidywanie wstecz
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Łączenie przewidywania w przód i wstecz
- Tekst
- RegEx
- Wynik
- Analiza
- Negacja grup przewidujących
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 10. Zagnieżdżanie warunków
- Po co zagnieżdżać warunki?
- Tekst
- RegEx
- Wynik
- Analiza
- Używanie warunków
- Warunki dla referencji wstecznych
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Warunki dla przewidywania
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- 11. Wyrażenia regularne jako rozwiązanie popularnych problemów
- Adresy IP
- Tekst
- RegEx
- Wynik
- Analiza
- URL
- Tekst
- RegEx
- Wynik
- Analiza
- Pełny URL
- Tekst
- RegEx
- Wynik
- Analiza
- Adresy e-mail
- Tekst
- RegEx
- Wynik
- Analiza
- Komentarze HTML-a
- Tekst
- RegEx
- Wynik
- Analiza
- Komentarze w JavaScripcie
- Tekst
- RegEx
- Wynik
- Analiza
- Numery kart kredytowych
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Numery telefonów w Ameryce Północnej
- Tekst
- RegEx
- Wynik
- Analiza
- Tekst
- RegEx
- Wynik
- Analiza
- Kody pocztowe w Stanach Zjednoczonych
- Tekst
- RegEx
- Wynik
- Analiza
- Kody pocztowe w Kanadzie
- Tekst
- RegEx
- Wynik
- Analiza
- Kody pocztowe w Wielkiej Brytanii
- Tekst
- RegEx
- Wynik
- Analiza
- Numery ubezpieczenia społecznego w Stanach Zjednoczonych
- Tekst
- RegEx
- Wynik
- Analiza
- Podsumowanie
- A Wyrażenia regularne w popularnych narzędziach i językach
- grep
- Java
- JavaScript
- Microsoft .NET
- Microsoft SQL Server T-SQL
- Microsoft Visual Studio .NET
- MySQL
- Oracle PL/SQL
- Perl
- PHP
- Python