Jak testować wyrażenia regularne online
Wyrażenia regularne to jedno z najpotężniejszych narzędzi w programowaniu — i jedno z najbardziej frustrujących do opanowania. Tester regex pozwala interaktywnie budować i debugować wzorce, zamiast uruchamiać kod, sprawdzać wyjście i zgadywać, co poszło nie tak.
Dlaczego używać testera regex
Pisanie regex w edytorze oznacza, że widzisz błędy dopiero podczas wykonania. Tester pokazuje Ci:
- Podświetlanie na żywo — zobacz dokładnie, które części Twojego tekstu pasują, w miarę jak wpisujesz wzorzec
- Grupy przechwytujące — zobacz, co przechwytuje każda grupa, bez pisania debugowania
- Szczegóły dopasowań — dokładne pozycje, długości i treść każdego dopasowania
- Podgląd zamiany — zobacz wynik zamiany przed jej zastosowaniem
Jak testować regex online
- Wprowadź swój wzorzec — wpisz regex w polu wzorca. Włącz flagi (g dla globalnej, i dla bez rozróżniania wielkości liter, m dla wielowierszowej) zgodnie z potrzebami.
- Wklej swój tekst testowy — wprowadź tekst, na którym chcesz testować. Dopasowania podświetlają się w czasie rzeczywistym.
- Sprawdź wyniki — zobacz wszystkie dopasowania z grupami przechwytującymi wymienionymi poniżej. Użyj pola „Zamień na”, aby przetestować zamiany.
Częste wzorce regex, które warto znać
Adres e-mail (podstawowy):
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
URL:
https?://[^\s]+
Numer telefonu (US):
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Data (RRRR-MM-DD):
\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])
Adres IP (IPv4):
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
Wskazówki dla pisania lepszego regex
- Zacznij prosto — najpierw uzyskaj podstawowy działający wzorzec, dodaj złożoność później. Próba napisania doskonałego regex za pierwszym razem rzadko działa.
- Używaj flagi globalnej (g) — bez niej tester zatrzymuje się przy pierwszym dopasowaniu. Z
gwidzisz wszystkie dopasowania w tekście. - Testuj przypadki graniczne — Twój regex może pasować do oczywistych przypadków i zawodzić na pustych ciągach, znakach specjalnych lub warunkach granicznych. Dodaj je do swojego tekstu testowego.
- Escape'uj znaki specjalne —
.,*,+,?,(,),[,],{,},\,^,$i|mają specjalne znaczenie w regex. Aby pasowały dosłownie, poprzedź je odwrotnym ukośnikiem. - Używaj grup nieprzechwytujących — jeśli potrzebujesz nawiasów do grupowania bez przechwytywania, użyj
(?:...)zamiast(...). Utrzymuje to Twoje wyniki czystszymi.
Najczęściej zadawane pytania
Czy mój regex będzie działał w innych językach programowania?
Większość składni regex jest dzielona między JavaScript, Python, Java, PHP i innymi. Podstawowe wzorce (klasy znaków, kwantyfikatory, kotwice) działają wszędzie. Niektóre zaawansowane funkcje, jak lookbehind czy nazwane grupy, różnią się w zależności od języka.
Czy moje dane testowe są wysyłane na serwer?
Nie. Całe dopasowywanie odbywa się lokalnie w Twojej przeglądarce z natywnym silnikiem RegExp JavaScript. Nic nie jest wysyłane gdzie indziej.
Czy mogę testować zamiany?
Tak. Wprowadź wzorzec zamiany (używając $1, $2 itd. dla grup przechwytujących), aby zobaczyć wynik zamiany w czasie rzeczywistym.
Czy działa offline?
Tak. Po załadowaniu strony narzędzie działa całkowicie w Twojej przeglądarce bez połączenia z Internetem.