Przejdź do treści
100% Prywatności — Pliki zostają na Twoim urządzeniu
>_
Polski

Regex Tester

Testuj wyrażenia regularne z podświetlaniem na żywo, grupami przechwytującymi i podglądem zamiany — w całości w przeglądarce.

//g

Silnik: wyrażenia regularne JavaScript (ECMAScript), uruchamiane przez przeglądarkę. Zachowanie może różnić się od PCRE, Pythona, Go, Javy lub .NET.

Flagi
Objaśnienie wzorca

Wpisz wzorzec, aby zobaczyć jego objaśnienie element po elemencie.

Biblioteka wzorców

Kliknij wzorzec, aby wczytać go (wraz z tekstem przykładowym) do testera.

Jeden przypadek w wierszu. Zacznij od „+ ”, jeśli wzorzec ma pasować, lub od „- ”, jeśli NIE ma pasować (flagi g i y są tu ignorowane).

Generuj kod

Wpisz wzorzec, aby wygenerować kod.

Wzorzec jest kopiowany w niezmienionej postaci (dostosowywane są tylko nazwane grupy, flagi i znaczniki zamiany). Sprawdź obsługę lookbehind, odwołań wstecznych i Unicode w docelowym silniku.

Szybka ściąga
  • \d — dowolna cyfra (0–9)
  • \w — dowolny znak słowa (litera, cyfra, podkreślenie)
  • \s — dowolny biały znak
  • . — dowolny znak oprócz znaku nowej linii
  • ^ — początek ciągu (lub linii, przy fladze multiline)
  • $ — koniec ciągu (lub linii, przy fladze multiline)
  • * — zero lub więcej wystąpień poprzedniego tokenu
  • + — jedno lub więcej wystąpień poprzedniego tokenu
  • ? — zero lub jedno wystąpienie poprzedniego tokenu
  • {n,m} — od n do m powtórzeń
  • (...) — grupa przechwytująca, (?:...) — grupa nieprzechwytująca
  • \b — granica słowa, | — alternatywa (LUB)

Jak właściwie działa testowanie wyrażeń regularnych w przeglądarce?

Wyrażenie regularne to zwięzły język wzorców do dopasowywania tekstu — od sprawdzenia, czy coś wygląda jak adres e-mail, przez wyszukanie każdego numeru telefonu w dokumencie, po usunięcie znaczników HTML z ciągu znaków. Problem w tym, że składnia regex jest niesławnie łatwa do subtelnego pomylenia: `.`, które powinno być poprzedzone ukośnikiem, zachłanne `*`, które pochłania więcej niż zamierzano, albo grupa, która nie przechwytuje tego, czego oczekujesz. Pisanie wzorca „na ślepo” i odkrywanie błędu dopiero wtedy, gdy działa już na danych produkcyjnych, to bolesny sposób na naukę.

To narzędzie działa w całości na wbudowanym silniku `RegExp` JavaScriptu, wykonując się bezpośrednio w Twojej przeglądarce w momencie pisania — nie ma żadnego serwera, więc tekst, który testujesz (mogą to być prawdziwe dane użytkowników, linie logów albo cokolwiek innego, czego wolisz nie wklejać do zewnętrznego serwisu), nigdy nie opuszcza Twojego komputera. Ponieważ to dokładnie ten sam silnik, na którym Twój kod JavaScript będzie działał w produkcji, to, co widzisz tutaj — które znaki się dopasowują, jak zachowują się zachłanne kwantyfikatory, czy grupa cokolwiek przechwyciła — jest dokładnie tym, co dostaniesz w czasie działania, a nie przybliżeniem z innej odmiany regex.

Wpisz wzorzec i włącz potrzebne flagi: `g`, aby znaleźć każde dopasowanie zamiast zatrzymywać się na pierwszym, `i` dla dopasowania bez rozróżniania wielkości liter, `m`, aby `^` i `$` dopasowywały się do początku/końca każdej linii zamiast całego ciągu, `s`, aby `.` dopasowywało też znaki nowej linii. Każde dopasowanie w tekście testowym jest podświetlane na żywo, a poniżej każde z nich jest rozbite na pełny dopasowany tekst, jego pozycję oraz wszelkie grupy przechwytujące — łącznie z grupami nazwanymi, jak `(?<year>\d{4})` — dzięki czemu od razu widzisz, czy grupa, którą chciałeś wyodrębnić, faktycznie zawiera to, co powinna. Sekcja Zamień pokazuje dokładnie to, co wyprodukowałoby `String.replace()` z Twoim wzorcem i tekstem zastępczym, włącznie z odwołaniami do grup, takimi jak `$1` czy `$<year>`.

Panel szybkiej ściągi poniżej obejmuje tokeny, o których najczęściej zapomina się w trakcie pracy — różnicę między `*` a `+`, do czego służy grupa nieprzechwytująca `(?:...)`, jak `\b` oznacza granicę słowa — bez konieczności opuszczania strony, żeby to sprawdzić. Gdy masz już wzorzec, który zachowuje się tak, jak chcesz, na realistycznych danych testowych, jest gotowy do wklejenia prosto do Twojego kodu. Jeśli musisz zwalidować lub przeformatować same dane, naturalnym uzupełnieniem będą narzędzia JSON Formatter & Validator oraz Text Diff Checker.

Najczęstsze pytania

Czy zły wzorzec regex może zawiesić stronę?

Nie — dopasowanie działa w osobnym Web Workerze z twardym limitem czasu, więc nawet wzorzec z katastrofalnym backtrackingiem nie zablokuje karty.

Czy narzędzie pokazuje nazwane i numerowane grupy przechwytujące?

Tak — każde dopasowanie wyświetla swoje grupy numerowane oraz wszelkie grupy nazwane, np. (?<year>\d{4}).

Czy mogę zobaczyć podgląd zamiany, zanim użyję jej w kodzie?

Tak — panel zamiany pokazuje dokładnie to, co zwróciłoby String.replace(), łącznie z odwołaniami do grup.

Powiązane narzędzia