Wyrażenie regularne Tester
Natychmiast testuj i debuguj wyrażenia regularne w przeglądarce. Wyróżniaj dopasowania, przeglądaj grupy przechwytywania i korzystaj z trybu zastępowania — bezpłatnego i prywatnego.
Natychmiast testuj i debuguj wyrażenia regularne w przeglądarce. Wyróżniaj dopasowania, przeglądaj grupy przechwytywania i korzystaj z trybu zastępowania — bezpłatnego i prywatnego.
Wyrażenia regularne to język specyficzny dla domeny, służący do dopasowywania wzorców w tekście. Są częścią komputerów od 1968 roku, a obecnie są wbudowane w każdy nowoczesny język programowania, edytor tekstu i narzędzie wyszukiwania z wiersza poleceń. Składnia jest zwięzła, ale podatna na błędy: małe zmiany powodują subtelne różnice w zachowaniu dopasowania, a złożone wyrażenia szybko stają się nieczytelne. Tester pokazujący dopasowania w czasie rzeczywistym podczas edycji wzorca to najskuteczniejszy sposób na opracowanie i weryfikację wyrażenia regularnego.
Ten tester działa w Twojej przeglądarce przy użyciu silnika regex JavaScript (tego samego, którego używa Twoja aplikacja, jeśli działa w przeglądarce). Wzorce i tekst testowy aktualizują się reaktywnie: każda zmiana powoduje ponowne uruchomienie dopasowania. Grupy dopasowań są podświetlane, przechwycone grupy są wyświetlane, a flagi (bez uwzględniania wielkości liter, wielowierszowe i globalne) są udostępniane do testowania.
Składnia wyrażeń regularnych różni się nieznacznie w zależności od silnika. JavaScript jest zgodny ze specyfikacją ECMAScript; Python, PCRE (używany w PHP i wielu innych), Java i Go mają swoje własne dialekty z nakładającymi się, ale nie identycznymi funkcjami. Opracowane tutaj wzorce wykorzystują składnię ECMAScript; przenośność między silnikami wymaga sprawdzenia dokumentacji każdego celu.
Błędy wyrażeń regularnych są niezwykle trudne do debugowania po wdrożeniu. Wzorzec, który wygląda rozsądnie, może pasować bardziej lub mniej niż zamierzono, zawieść w przypadkach brzegowych lub powodować katastrofalne cofanie się w przypadku niektórych danych wejściowych. Interaktywne testowanie wzorców na podstawie reprezentatywnych danych wejściowych wyłapuje problemy przed przeglądem kodu i produkcją.
Wzory również korzystają z dokumentacji. Wyświetlenie wyrażenia regularnego obok danych wejściowych, które powinno pasować, i danych wejściowych, do których nie powinno pasować, wyraźnie wskazuje na intencję. Przyszli opiekunowie (w tym także Ty za sześć miesięcy) bardziej cenią udokumentowane przypadki testowe niż sprytne, jednowierszowe sformułowania.
Wpisz wzór, wpisz testowe dane wejściowe, zobacz podświetlone mecze na żywo.
Wyrażenie regularne JavaScript jest zgodne ze specyfikacją ECMAScript. Główne cechy: klasy znaków ([abc], [^abc]), kwantyfikatory (*, +, ?, {n,m}), alternacja (|), grupowanie ((...)), grupy przechwytujące i nieprzechwytujące, lookahead i lookbehind (nowoczesne silniki), referencje wsteczne, nazwane grupy, ucieczki właściwości Unicode (z flagą u) i standardowy zestaw sekwencji ucieczki.
Ważne różnice w stosunku do PCRE i Pythona: obsługa podglądu wstecz została wprowadzona niedawno w JavaScript (2018+); nazwane grupy używają składni (?<nazwa>...); niektóre ucieczki Unicode wymagają poprawnego działania flagi u. Wzorce przeznaczone do użytku w różnych językach należy sprawdzić w dokumentacji każdego celu.
Wydajność: silniki wyrażeń regularnych oparte na śledzeniu wycofywania (większość z nich zawiera JavaScript) mogą powodować katastrofalne wycofywanie się w przypadku pewnych patologicznych wzorców. Testy, które zawieszają tester, są oznaką, że wzorzec wymaga uproszczenia — zazwyczaj poprzez uniknięcie zagnieżdżonych kwantyfikatorów i niejednoznacznej naprzemienności.