Kluczowe punkty
- 01Tester używa natywnego silnika JavaScript RegExp przeglądarki, więc wyniki dokładnie odpowiadają temu, co Node.js lub nowoczesna przeglądarka będą produkować w środowisku produkcyjnym.
- 02Dostępne są wszystkie sześć flag JavaScript (g, i, m, s, y, u) indywidualnie.
- 03Szablony zamian obsługują $1, $2, $&, i $$ dla zaawansowanych podglądów substytucji.
- 04Nic nie jest wysyłane na serwer — wzorce i ciągi testowe pozostają całkowicie w przeglądarce.
Dlaczego dedykowany tester Regex jest lepszy niż twoje IDE
Wyrażenia regularne są potężne, ale notoryczne trudne do przeczytania na pierwszy rzut oka. Nawet doświadczeni programiści napotykają niespodzianki: kropka, która pochłania znaki nowych linii, zachłanny kwantyfikator, który konsumuje zbyt wiele, lub grupa przechwytująca, która jest o jeden obok. Dedykowany tester usuwa otaczający kod, aby mogłeś iterować tylko nad wzorcem i ciągiem wejściowym jednocześnie.
Tester regex Handytool ocenia wzorce za pomocą natywnego silnika ECMAScript RegExp przeglądarki, co oznacza, że nie ma warstwy translacji i nie ma niezgodności smaku. Jeśli tester mówi, że się dopasowuje, twój kod JavaScript również będzie. Przełączaj flagi, wklej nowy ciąg próbki, a wyniki aktualizują się natychmiast — nie jest wymagany przycisk uruchomienia.
Jak testować wzorzec Regex
Cały przepływ pracy zajmuje mniej niż minutę.
- 01
Wklej lub wpisz swój wzorzec
Wpisz wyrażenie regularne w polu wzorca. Pomiń otaczające ukośniki — flagi są ustawiane osobno.
- 02
Ustaw swoje flagi
Przełączaj g, i, m, s, y i u indywidualnie. Flaga globalna jest prawie zawsze potrzebna w przypadkach użycia z wieloma dopasowaniami.
- 03
Wklej swój ciąg testowy
Dodaj tekst, który chcesz dopasować. Każdy naciśnięty klawisz ponownie uruchamia wzorzec i podświetla dopasowania na wejściu.
- 04
Sprawdź grupy przechwytujące
Przewiń listę dopasowań, aby zobaczyć pozycję każdego dopasowania i wartość każdej numerowanej grupy przechwytującej.
- 05
Podgląd zamiany
Wpisz szablon zamiany używając $1, $2 lub $&, aby zobaczyć zastąpione dane wyjściowe na żywo — świetne do sprawdzenia poprawności wywołania String.replace() przed jego napisaniem.
Szybka lista kontrolna debugowania Regex
Zanim założysz błąd, przejdź przez to:
- 01Czy flaga globalna jest włączona, jeśli oczekujesz więcej niż jednego dopasowania?
- 02Czy kropki powinny dopasowywać znaki nowych linii? Włącz flagę s, jeśli tak.
- 03Czy używasz grup numerowanych ($1, $2) czy grup nazwanych (\k<name>) w zamianie?
- 04Czy wzorzec używa ucieczek Unicode (\p{…})? Wymaga flagi u.
- 05Czy flaga sticky (y) potrzebuje świeżego lastIndex dla każdego dopasowania?
Zaprojektowany z prywatnością
Tester regex nie wysyła żadnych żądań sieciowych podczas pisania. Twój wzorzec i ciąg testowy są przetwarzane całkowicie przez silnik JavaScript przeglądarki — nigdy nie dotykają serwera. To czyni go bezpiecznym do wklejania zastrzeżonych linii dziennika, wewnętrznych ładunków API lub wrażliwych ciągów podczas debugowania.
Ponieważ nie ma zaangażowanego backendu, nie ma również limitu szybkości, nie jest wymagane konto i nie ma ograniczenia rozmiaru wklejenia poza tym, co może obsłużyć karta przeglądarki. Większość codziennych wzorców i ciągów jest oceniana w mniej niż milisekundę.
FAQ Testera Regex
Jaki smak regex używa ten tester?
JavaScript (ECMAScript). Wzorce są oceniane przez natywny silnik RegExp przeglądarki, dokładnie dopasowując zachowanie Node.js i nowoczesnych przeglądarek. Lookbehinds, grupy nazwane i ucieczki właściwości Unicode (\p{…} z flagą u) są wszystkie obsługiwane.
Czy mój wzorzec lub ciąg testowy opuszcza stronę?
Nie. Wszystko działa lokalnie w twojej przeglądarce — żadne żądania sieciowe nie są wysyłane, gdy wpisujesz wzorzec, zmieniasz flagi lub podglądasz zamianę.
Jak używać grup przechwytujących w polu zamiany?
Użyj $1, $2, … dla grup numerowanych, $& dla całego dopasowania i $$ do wstawienia dosłownego znaku dolara. Podgląd aktualizuje się na żywo, gdy zmienisz wzorzec lub szablon.
Czy to działa dla wzorców Python lub PCRE?
Silnik to JavaScript, więc większość podstawowych wzorców zachowuje się identycznie, ale grupy nazwane w stylu Python (?P<name>…) i kwantyfikatory posesywne nie są obsługiwane. Użyj odpowiedników JS — (?<name>…) dla grup nazwanych.
Dlaczego moje wyrażenie regularne nie dopasowuje się między podziałami linii?
Włącz flagę s (dot-all) lub zastąp . na [\s\S]. Bez niej kropka dopasowuje każdy znak z wyjątkiem nowego wiersza.