Skip to main content
CheckTown
Dev Tools

Testowanie wyrażeń regularnych: Pisz i debuguj Regex natychmiast

Opublikowano 5 min czytania
W tym artykule

Czym jest wyrażenie regularne?

Wyrażenie regularne (regex lub regexp) to ciąg znaków definiujący wzorzec wyszukiwania. Służy do przeszukiwania, dopasowywania, wyodrębniania, zastępowania i walidacji tekstu. Wzorce regex są natywnie obsługiwane niemal w każdym języku programowania i stanowią niezbędne narzędzie w zestawie każdego programisty.

Regex może być prosty jak \d+ (jedna lub więcej cyfr) lub złożony — wieloliniowy wzorzec z wyprzedzeniami (ang. lookaheads), odwołaniami wstecznymi i grupami nazwanymi. Choć potężne, skomplikowane wyrażenia regex bywają trudne do odczytania i utrzymania — tester regex pomaga budować i weryfikować wzorce interaktywnie.

Jak działa nasz tester regex

Tester regex zapewnia dopasowanie w czasie rzeczywistym z wizualnym podświetlaniem podczas pisania.

  • Dopasowanie na żywo — podświetla wszystkie dopasowania w testowanym tekście podczas wpisywania wzorca
  • Obsługa flag — przełączaj flagi global, case-insensitive, multiline i dotAll
  • Podgląd grup — wyświetla przechwycone grupy i nazwane przechwycenia dla złożonych wzorców

Wypróbuj za darmo — bez rejestracji

Testuj wyrażenie regularne →

Kiedy używać testera regex

Tester regex jest przydatny zawsze, gdy trzeba opracować lub zdebugować wzorzec przed osadzeniem go w kodzie.

  • Walidacja formularzy — twórz i testuj wzorce dla e-maila, telefonu, kodu pocztowego lub niestandardowej walidacji danych wejściowych
  • Parsowanie logów — buduj wyrażenia regex do wyodrębniania pól z linii logów przed przetwarzaniem przez grep lub awk
  • Ekstrakcja danych — testuj wzorce do scrapowania lub parsowania danych strukturalnych z tekstu lub HTML

Często zadawane pytania

Jaka jest różnica między kwantyfikatorami zachłannymi a leniwymi?

Kwantyfikatory zachłanne (*, +, ?) dopasowują jak najwięcej znaków. Kwantyfikatory leniwe (*?, +?, ??) dopasowują jak najmniej. Przykładowo dla ciągu <a>tekst</a> wzorzec <.*> dopasuje cały ciąg (zachłanny), podczas gdy <.*?> dopasuje tylko <a> (leniwy). Kwantyfikatory leniwe są niezbędne do parsowania HTML lub zagnieżdżonych struktur.

Jak dopasować dosłowną kropkę lub inny znak specjalny w regex?

Poprzedź znak ukośnikiem odwrotnym: \. dopasowuje dosłowną kropkę, \* dopasowuje dosłowną gwiazdkę. Znaki specjalne wymagające ucieczki to: . * + ? ^ $ { } [ ] | ( ) \. Aby dopasować je dosłownie, zawsze poprzedź je znakiem \.

Dlaczego moje wyrażenie regex działa inaczej w JavaScript niż w Pythonie?

Różne języki implementują nieco odmienne dialekty regex. Główne różnice obejmują: Python używa (?P<name>) dla grup nazwanych, podczas gdy JavaScript używa (?<name>); obsługa wyprzedzeń wstecznych (ang. lookbehind) różni się; niektóre funkcje jak \K (keep) istnieją w PCRE, ale nie w JavaScript. Zawsze testuj wyrażenia regex w kontekście docelowego języka.

Powiązane narzędzia