Tester Regex
Testuj wyrażenia regularne
Jak używać Tester Regex
Testuj wyrażenia regularne Darmowe narzędzie online, bez rejestracji, bez nachalnych reklam. Użyj teraz.
Gdzie stosuje się wyrażenia regularne?
Wyrażenia regularne (regex) to wzorce do dopasowywania tekstu. Opanowanie regexów znacznie zwiększa produktywność dewelopera — 50 linii kodu do manipulacji ciągami zastępuje jedno dobrze skonstruowane wyrażenie regularne.
- Walidacja danych wejściowych: Waliduj email, polskie numery telefonów (format +48 XXX XXX XXX lub 48 XXX XXX XXX), NIP (10 cyfr), REGON (9 lub 14 cyfr), PESEL (11 cyfr), kod pocztowy (XX-XXX).
- Ekstrakcja danych: Wyodrębnij konkretne wzorce z tekstu — wszystkie URL w dokumencie, wszystkie daty w logach, wszystkie kwoty w złotych (format X XXX,XX zł) w raporcie finansowym.
- Zaawansowane znajdź/zamień: Konwertuj daty z "10.04.2025" na "2025-04-10" (ISO 8601), anonimizuj dane osobowe, normalizuj spacje — szczególnie ważne przy pracy z polskimi danymi zawierającymi znaki diakrytyczne.
- Parsowanie logów: Parsuj logi Apache, Nginx, aplikacji. Wyodrębnij adresy IP, kody odpowiedzi HTTP, znaczniki czasu — podstawa monitorowania i alertów.
- Refaktoryzacja kodu: Znajdź wszystkie wywołania funkcji z określoną sygnaturą, zidentyfikuj użycie przestarzałego API, znajdź komentarze TODO/FIXME w bazie kodu.
Przydatne wzorce dla polskich danych: Telefon: ^(\+48|48)?\s?\d{3}\s?\d{3}\s?\d{3}$. NIP: ^\d{10}$. PESEL: ^\d{11}$. Kod pocztowy: ^\d{2}-\d{3}$. Kwota PLN: \d{1,3}( \d{3})*(,\d{2})?\s?(zł|PLN).
Co oznaczają flagi g, i, m, s?
g (globalna): znajdź wszystkie dopasowania, nie tylko pierwsze. i (case-insensitive): bez rozróżniania wielkości liter. m (wieloliniowy): ^ i $ dopasowują początek/koniec każdej linii. s (dotAll): kropka (.) dopasowuje też znaki nowej linii. Flagi można łączyć.
Jaka jest różnica między greedy a lazy dopasowaniem?
Kwantyfikatory zachłanne (+, *, {n,}) dopasowują jak najwięcej. <.+> dopasuje całe 'tekst' jako jedno dopasowanie. Leniwe (+?, *?, {n,}?) dopasowują jak najmniej. <.+?> dopasuje '' i '' osobno. Do wyodrębniania poszczególnych tagów HTML używaj leniwego dopasowania.
Jaka jest różnica między grupą przechwytującą a nieprzechwytującą?
(wzorzec) to grupa przechwytująca: dopasowany tekst jest zapisany i dostępny jako $1, $2 w zamianie. (?:wzorzec) to nieprzechwytująca: grupuje wzorzec dla kwantyfikatorów lub alternatyw, nie zapisując dopasowania.
Co to jest lookahead i lookbehind?
Lookahead (?=wzorzec) sprawdza co następuje dalej, nie konsumując znaków. Lookbehind (?<=wzorzec) sprawdza co jest przed. Wersje negatywne: (?!wzorzec) i (?
Dlaczego regex działa w JavaScript, ale nie w Pythonie?
Dialekty regex różnią się nieco między językami. Python używa \A i \Z dla początku/końca ciągu. Surowe ciągi Pythona (r'wzorzec') unikają podwójnego escapeowania backslasha. Starsze silniki JavaScript mogą nie obsługiwać lookbehind. Zawsze testuj regex w docelowym środowisku językowym.
Wyrażenia regularne vs metody ciągów vs parsery vs AI
Wyrażenia regularne są najlepsze do dopasowywania i ekstrakcji wzorców. Potężne, ale trudne dla początkujących. Metody ciągów (split, indexOf, slice) są bardziej czytelne dla prostych operacji. Dedykowane parsery (HTML, JSON, CSV) są zawsze preferowane przed regexem dla formatów strukturalnych — nigdy nie parsuj HTML wyrażeniami regularnymi. Analiza AI — do niejednoznacznego języka naturalnego. Używaj najprostszego narzędzia, które bezpiecznie rozwiązuje problem.