Tester regex do szybkich dopasowań i zamian
W kalkulatorze testerze regex wpisujesz tekst i wzorzec, a narzędzie pokazuje podświetlone dopasowania, grupy przechwytywania oraz podgląd replace. To przydatne, gdy chcesz szybko sprawdzić, czy Twój pattern działa w praktyce (na wielu liniach i z różnymi znakami).
Wzór i logika obliczeń
Silnik przechodzi po tekście i wyszukuje kolejne dopasowania zgodnie z flagami (np. g dla wszystkich matchy). Dla każdego dopasowania narzędzie wyciąga grupy przechwytywania oraz (jeśli wzorzec je ma) grupy nazwane. Gdy pracujesz na danych w kolumnach lub listach, często łączysz regex z porządkowaniem – wtedy przydaje się CSV na listę i lista na CSV – separator, TAB, duplikaty albo Usuwanie duplikatów online – Wyczyść listę z powtórzeń.
Przykład obliczeń
Załóżmy, że w tekście są e-maile, a wzorzec rozdziela nazwę użytkownika i domenę na dwie grupy. Tester policzy liczbę dopasowań,
pokaże wartości grup oraz indeks start/koniec. Jeśli dodatkowo chcesz maskować domenę, ustaw replace np. $1@[ukryte] i zobacz wynik.
Tak samo możesz testować wzorce do formatów (np. kolorów) – przy okazji zerknij na Kalkulator kolorów HEX na RGB i Kalkulator bin->hex.
Zadanie przykładowe i rozwiązanie
Zadanie: Masz listę numerów telefonów w różnych formatach i chcesz je ujednolicić (np. usunąć spacje i myślniki).
Rozwiązanie: Wklej tekst, wpisz wzorzec wyłapujący cyfry i separatory, a w replace wstaw tylko przechwycone cyfry (np. używając grup). W trybie „Podświetlenie + lista” sprawdzisz, czy regex nie łapie zbyt wiele, a w sekcji replace zobaczysz gotowy wynik po zamianie.
Wskazówka: Gdy wzorzec dopasowuje pusty fragment (zero-length), dodaj warunek w regex albo ogranicz wzorzec, żeby uniknąć „zapętlenia” dopasowań.
Tabela: flagi i praktyczne znaczenie
| Flaga | Co zmienia | Kiedy używać | Pułapka |
|---|---|---|---|
| g | Wyszukuje wszystkie dopasowania | Gdy chcesz listę matchy albo replace all | Bez g zobaczysz tylko 1 dopasowanie |
| i | Ignoruje wielkość liter | Gdy dane mają różne formaty | Może „zbyt łatwo” dopasować |
| m | ^ i $ działają per linia | Logi, pliki tekstowe, wiele linii | Nie myl z flagą s |
| s | Kropka dopasowuje newline | Bloki tekstu, HTML, JSON (ostrożnie) | Łatwo złapać „za dużo” |
| u | Tryb Unicode | Teksty PL, emoji, znaki spoza ASCII | Bez u niektóre wzorce działają inaczej |
Ciekawostka
Ten sam regex może dawać inne wyniki w zależności od silnika (JavaScript, PCRE, Python). Jeśli testujesz pattern pod konkretny system, sprawdzaj też, czy wspiera on np. lookbehind lub nazwane grupy. W praktyce warto trzymać się prostych wzorców i dopiero potem je rozwijać.
Najczęstsze błędy i jak zwiększyć dokładność wyniku
- Brak flagi g: widzisz tylko pierwszy match i myślisz, że regex „nie działa”.
- Za szeroka kropka (.) bez ograniczeń: łapiesz za dużo tekstu – doprecyzuj zakres lub użyj lazy
?. - Nieprzemyślane grupy: potem replace nie składa wyniku – sprawdź listę grup i indeksy.
- Ucieczka znaków: kropka i nawiasy mają znaczenie – pamiętaj o
\.,\(,\). - Zerowe dopasowania: wzorzec dopasowuje pusty tekst i iteracja robi się problematyczna – zawęź pattern.
Regex w praktyce – czyszczenie i transformacje
Regex świetnie sprawdza się do „sprzątania” danych (np. wycinania prefiksów, normalizacji spacji, maskowania fragmentów). Gdy robisz serię operacji na listach, najpierw oczyść dane w Usuwanie duplikatów online – Wyczyść listę z powtórzeń, potem regexem wyciągnij to, co potrzebne, a na końcu np. przelicz wartości w Plan oszczędzania z waloryzacją – kalkulator lub Kalkulator VAT (brutto/netto).
Do walidacji lepiej używać prostych reguł i dodatkowej logiki. Regex traktuj jako filtr, a nie „jedyny” strażnik poprawności.
Zanim zrobisz replace all, sprawdź listę matchy i grup. Jedna zła kropka potrafi zmienić zbyt dużo.