Przejdź do treści głównejPrzejdź do kalkulatora
108 kalkulatorówWyniki na żywoRozwiązania krok po kroku

Narzędzie Rechnerpilot

Tester Regex

RegExp jest wykonywane w izolacji w Web Worker względem tekstu testowego; wyświetlane są trafienia i grupy.

Programiści

Izolowane wykonanie jest niedostępne w tym środowisku. Regex-Tester wymaga obsługi Web Worker w przeglądarce.

Wyjaśnienie

Jak działa Tester Regex

Regex-Tester wartościuje wyrażenie regularne (składnia JavaScript/ECMAScript) względem tekstu testowego i wyświetla trafienia, ich pozycję oraz przechwycone grupy. Za pomocą flag sterujesz między innymi wyszukiwaniem globalnym (g), wielkością liter (i) oraz zachowaniem wielowierszowym (m).

Ważne dla bezpieczeństwa: wzorzec wprowadzony przez użytkownika może przez "katastrofalny backtracking" liczyć dowolnie długo. Samo ograniczenie długości wejścia przed tym nie chroni. Dlatego analiza działa w osobnym Web Worker; jeśli nie odpowie on w krótkim czasie, zostaje twardo zakończony i odrzucony. Wątek główny — a tym samym obsługa — pozostaje przez cały czas responsywny.

Granice tego narzędzia

  • Tylko składnia JavaScript-Regex — brakuje osobliwości PCRE/.NET.
  • Blokujące wzorce są przerywane, a nie "naprawiane".
  • Maksymalnie 1000 przetworzonych trafień (wyświetlanych jest pierwszych 100).

Źródła

  • ECMAScript Specification: Składnia i semantyka RegExp.
  • OWASP: Regular expression Denial of Service (ReDoS).

Praktyka

Przykłady praktyczne

Zgrubne sprawdzenie adresu e-mail

Wzorzec \S+@\S+\.\S+ znajduje proste ciągi znaków przypominające adresy e-mail.

Wyodrębnianie cyfr

Z flagą g \d+ zwraca wszystkie ciągi cyfr w tekście.

Korzystanie z grup

Nawiasy okrągłe przechwytują trafienia częściowe, które są wyświetlane osobno.

FAQ

Często zadawane pytania

Dlaczego strona się nie zawiesza?

Analiza wyrażenia regularnego działa w osobnym Web Worker. Jeśli wzorzec blokuje przez katastrofalny backtracking, interfejs pozostaje responsywny; worker jest twardo przerywany po krótkim czasie.

Czym jest katastrofalny backtracking?

Niektóre wzorce (na przykład zagnieżdżone kwantyfikatory jak (a+)+) mogą przy niekorzystnych danych wejściowych wymagać wykładniczo wielu kroków. To narzędzie deterministycznie przerywa takie przebiegi, zamiast się blokować.

Czy moje dane są przesyłane?

Nie. Wzorzec i tekst testowy są analizowane wyłącznie lokalnie w przeglądarce (w workerze). Nie następuje żadna transmisja.

Jaka składnia jest obsługiwana?

Składnia wyrażeń regularnych JavaScript (ECMAScript). Inne dialekty (PCRE, .NET) mogą się różnić.

Dlaczego nie są wyświetlane wszystkie trafienia?

Aby chronić przed ekstremalnie dużymi wynikami, analizowanych jest maksymalnie 1000 trafień; wyświetlanych jest pierwszych 100, a w eksporcie PDF pierwszych 50. Po osiągnięciu limitu analizy pojawia się stosowna wskazówka.

Wskazówki

Warto wiedzieć

  • Aby uzyskać wszystkie trafienia, włącz flagę g.
  • Unikaj zagnieżdżonych kwantyfikatorów jak (a+)+ — mogą blokować.
  • Analiza działa w izolacji; strona się nie zawiesza.

Powiązane kalkulatory

Więcej narzędzi