Regex Tester
Test regular expressions
Test regular expressions Działa lokalnie w Twojej przeglądarce
About the
Tester Regex uruchamia wyrażenie regularne JavaScript na podstawie własnego przykładowego tekstu i podświetla każde dopasowanie podczas pisania, dzięki czemu zamiast zgadywać, możesz obserwować sukces lub porażkę wzorca. Oprócz wyróżnień wyświetla listę każdego dopasowania z jego pozycją początkową i grupami przechwytywania, co jest częścią, która faktycznie mówi ci, czy grupa 2 to żądana wartość, czy pusty ciąg. Trzy błędy powodują większość uszkodzonych wyrażeń regularnych i wszystkie trzy są tutaj widoczne: zachłanny kwantyfikator cicho połykający więcej tekstu niż zamierzono, pozbawiona znaczenia kropka pasująca do czegokolwiek i brakująca flaga globalna, która zatrzymuje wyszukiwanie po pierwszym trafieniu.
Where people use the
- Debugowanie wzorca analizowania dziennika w oparciu o kilka rzeczywistych linii dziennika.
- Opracuj regułę dotyczącą numeru telefonu lub kodu pocztowego przed podłączeniem jej do formularza.
- Wyodrębnianie numerów zamówień lub identyfikatorów z wklejonego bloku tekstu.
- Uczenie się, jak zachowują się kwantyfikatory, poprzez zmianę jednego znaku i obserwowanie ruchu świateł.
How to use the
- 1
Wklej tekst, który chcesz przetestować
Użyj prawdziwej próbki, a nie wymyślonej. Przypadki graniczne w rzeczywistych danych łamią wzorzec, więc dołącz linię, która również nie powinna pasować.
- 2
Napisz wzór
Wprowadź wyrażenie bez otaczających je ukośników, na przykład [a-z]+ zamiast /[a-z]+/. Flagi to osobne przełączniki.
- 3
Włącz lub wyłącz flagi
g znajduje każde dopasowanie zamiast zatrzymywać się na pierwszym, i ignoruje wielkość liter, m powoduje, że kotwice działają w poszczególnych liniach, s pozwala kropce rozciągać się na nowe linie, u włącza pełny tryb Unicode, a y zakotwicza dopasowanie do lastIndex.
- 4
Przeczytaj tabelę meczów
Każdy wynik pokazuje dopasowany tekst, jego przesunięcie znaków i każdą grupę przechwytywania. Nieoczekiwana pusta grupa zwykle oznacza, że opcjonalny kwantyfikator nie pasuje do niczego.
- 5
Skopiuj gotowy wzór
Kiedy najważniejsze elementy będą wyglądać prawidłowo, skopiuj wyrażenie i wklej je do swojego kodu, pamiętając o przeniesieniu flag.
Wskazówki i najlepsze praktyki
- Przetestuj jedną regułę na wzór. Wyrażenie regularne wykonujące trzy zadania jest nieczytelne i niemożliwe do debugowania.
- Dołącz wiersz, który nie może pasować, i potwierdź, że nie jest podświetlony.
- Preferuj grupy nazwane, takie jak rok, miesiąc, dzień, zamiast grup numerowanych, aby wzór nadal coś znaczył, gdy wrócisz do niego w następnym miesiącu.
Często zadawane pytania
Z jakiego smaku wyrażenia regularnego to korzysta?
JavaScript za pośrednictwem własnego silnika RegExp przeglądarki. Składnia jest zbliżona do modułu re modułu PCRE i Pythona, ale nie jest identyczna. Grupy nazwane, lookahead, lookbehind i zmiany właściwości Unicode działają w bieżących przeglądarkach.
Dlaczego mój wzór pasuje do znacznie większej ilości tekstu, niż się spodziewałem?
Ponieważ kwantyfikatory są domyślnie zachłanne. Coś takiego jak .* lub [0-9]+ zużyje tyle, ile się da, jednocześnie pozwalając na dopasowanie reszty wzorca. Dodaj znak zapytania, żeby było leniwie, więc .*? lub [0-9]+? zatrzymuje się przy pierwszej nadarzającej się okazji.
Dlaczego otrzymuję tylko jeden wynik?
Flaga globalna jest wyłączona. Bez g silnik zwraca pierwsze dopasowanie i zatrzymuje się. Przełącz g, aby zebrać wszystkie dopasowania na wejściu.
Dlaczego moja kotwica nie działa na drugiej linii?
Domyślnie kotwice daszka i dolara odnoszą się do początku i końca całego ciągu, a nie każdej linii. Włącz flagę m, aby uświadomić im linię.
Czy moje dane testowe są gdzieś wysyłane?
Nie. Dopasowanie odbywa się w Twojej przeglądarce za pomocą wbudowanego obiektu RegExp. Nic nie jest przesyłane, dlatego możesz bezpiecznie wkleić prawdziwe linie logu lub fragmenty konfiguracji.
Czy mogę użyć tego do sprawdzenia poprawności danych wejściowych w formularzu?
Możesz opracować wzorzec tutaj, ale zawsze sprawdź poprawność ponownie na serwerze. Wyrażenie regularne po stronie klienta jest wygodą dla użytkownika, a nie kontrolą bezpieczeństwa, ponieważ można je całkowicie pominąć.