Escape wyrażeń regularnych

Escapuj ciąg znaków do użycia w wyrażeniu regularnym.

Programista

Wpisz ciąg znaków, który chcesz zabezpieczyć do użycia w wyrażeniu regularnym. Specjalne znaki regex (np. . * + ? [ ] ( ) ) zostaną zabezpieczone, aby wzorzec dopasowywał tekst dosłownie. Działa w przeglądarce.

O zabezpieczaniu dla regex

W wyrażeniach regularnych znaki takie jak . * + ? [ ] ( ) mają specjalne znaczenie. Jeśli chcesz wyszukać je dosłownie, musisz je zabezpieczyć ukośnikiem wstecznym. To narzędzie robi to za Ciebie: wklej ciąg i uzyskaj wersję bezpieczną do użycia w wyrażeniu regularnym.

Jak używać

  1. Wpisz ciąg, który chcesz dopasować dosłownie w wyrażeniu regularnym.
  2. Kliknij Zabezpiecz dla regex. Skopiuj wynik i użyj go we wzorcu.

Kluczowe funkcje

  • Eskejpuje wszystkie standardowe metaznaki regex ukośnikami wstecznymi
  • Tworzy wynik kompatybilny z JavaScript, Python, PHP, Java i większością silników regex
  • Zapobiega niezamierzonemu zachowaniu wzorca wynikającemu z niezeskejpowanych znaków specjalnych
  • Natychmiastowe eskejpowanie jednym kliknięciem
  • 100% po stronie klienta — Twój tekst nigdy nie opuszcza przeglądarki

Kiedy używać tego narzędzia

  • Budowanie wyrażenia regularnego, które musi dopasowywać tekst podany przez użytkownika dosłownie
  • Wstawianie ścieżek plików, URL-i lub fragmentów kodu do wzorca regex
  • Konstruowanie dynamicznych wzorców regex w kodzie (np. new RegExp(escaped))
  • Zapobieganie wstrzykiwaniu regex, gdy dane wejściowe użytkownika stają się częścią wzorca wyszukiwania
  • Nauka, które znaki mają specjalne znaczenie w składni regex

Szczegóły techniczne

Narzędzie stosuje zamianę wyrażeniem regularnym celującym we wszystkie metaznaki: [-\/\^$*+?.()|[\]{}] i poprzedza każdy ukośnikiem wstecznym. To samo podejście stosowane jest przez biblioteki takie jak lodash.escapeRegExp i Pythonowe re.escape(). Zeskejpowany wynik jest bezpieczny do użycia w new RegExp() w JavaScript, re.compile() w Pythonie i podobnych konstruktorach w innych językach. Przetestuj wynik w naszym Testerze regex.

Podsumowanie

Prawidłowe eskejpowanie znaków specjalnych jest niezbędne do poprawnych i bezpiecznych wzorców regex. To darmowe, przeglądarkowe narzędzie Regex Escape obsługuje to natychmiast — oszczędzając czas i zapobiegając trudnym do debugowania błędom wzorców.

Najczęściej zadawane pytania

Które znaki są zabezpieczane?
Zabezpieczane są znaki mające specjalne znaczenie w regex: . * + ? ^ $ [ ] ( ) { } | \ i inne. Dzięki temu wzorzec dopasowuje Twój ciąg dosłownie.
Czy mój tekst jest wysyłany na serwer?
Nie. Zabezpieczanie odbywa się w Twojej przeglądarce. Tekst nigdy nie opuszcza Twojego urządzenia.
Czy mogę użyć tego w JavaScript replace?
Tak. Użyj zabezpieczonego ciągu w new RegExp(escaped) lub wewnątrz /.../, aby wyszukiwany tekst był traktowany dosłownie, a nie jako składnia regex.
Czy mój tekst jest wysyłany na serwer?
Nie. Eskejpowanie odbywa się całkowicie w przeglądarce za pomocą JavaScript. Twój tekst nigdy nie opuszcza urządzenia.