Przejdź do treści

Regex escape

Escapuj znaki o specjalnym znaczeniu w wyrażeniu regularnym, aby tekst pasował dosłownie.

Wejście
Wynik

Regex escape

Wyrażenie regularne traktuje znaki takie jak . * + ? ^ $ { } ( ) | [ ] i \ jako instrukcje, a nie jako tekst dosłowny. Wklej nazwę pliku, cenę, adres URL lub dowolny ciąg zawierający jeden z tych znaków, a to narzędzie escapuje każdy znak specjalny za pomocą backslashu, dzięki czemu wynik pasuje do dokładnego tekstu — nic więcej, nic mniej. Przełącz kierunek na unescape i proces się odwróci: backslashe zostaną usunięte ze wzoru, aby odzyskać oryginalny ciąg.

Opcja dialektu określa, które znaki rzeczywiście wymagają escapowania. JavaScript i PCRE współdzielą ten sam zestaw metaznakachów, więc wzór zbudowany dla jednego zachowuje się tak samo w drugim. POSIX Basic Regular Expressions — domyślny dla zwykłego grep i sed — są węższe: znaki + ? { } ( ) i | to zwyczajne znaki dosłowne, a nie metaznaki, więc escapowanie jest pomijane zamiast być stosowane ślepo. Włącz opcję „Escapuj też ogranicznik (/)” gdy wzór będzie zapisany między ukośnikami, jak /wzór/, aby dosłowny / nie przerwał wzoru przedwcześnie.

Dwie opcje obsługują wieloliniowe wejście. Opcja „Każdy wiersz jako własny wzór” otula każdy wiersz znakami ^ i $, zamieniając listę dokładnych ciągów na wzory pasujące do całej linii — przydatne do budowania list dozwolonych lub zakazanych. Opcja „Połącz wiersze w jedną alternatywę” idzie dalej, łącząc każdy wiersz w jedną grupę (?:a|b|c) gotową do bezpośredniego wstawienia do wyrażenia regularnego. Unescape odwraca oba procesy: dzieli alternatywę z powrotem na wiersze i usuwa kotwice.

Wszystko działa lokalnie w przeglądarce. Tekst i wzory, które wklejasz — w tym nazwy plików, tokeny lub ścieżki — nigdy nie są wysyłane nigdzie; escapowanie odbywa się całkowicie na Twoim urządzeniu.

Częste pytania

Które znaki escapuje to narzędzie?
Metaznaki wyrażenia regularnego . * + ? ^ $ { } ( ) | [ ] i \. Dokładnie które z nich potrzebują backslasha, zależy od wybranego dialektu — na przykład POSIX BRE traktuje znaki + ? { } ( ) i | jako już dosłowne.
Jaka jest różnica między dialektami JavaScript, PCRE i POSIX?
JavaScript i PCRE (wyrażenie regularne kompatybilne z Perliem, używane przez wiele języków i narzędzi) współdzielą ten sam zestaw metaznakóm dla escapowania. POSIX tutaj oznacza Basic Regular Expression, domyślny dla zwykłego grep i sed, gdzie znaki + ? { } ( ) i | to zwyczajne znaki, a nie metaznaki — więc nie są escapowane.
Co produkuje opcja "Połącz wiersze w jedną alternatywę"?
Escapuje każdy wiersz i łączy je w jedną grupę jak (?:kot|pies|ptak), gotową do użycia jako jeden wzór pasujący do każdego wiersza. Przełączenie na unescape dzieli wzór w tej dokładnej postaci z powrotem na osobne wiersze.
Czy unescape kiedykolwiek może się nie powieść lub wyrzucić błąd?
Nie. Unescape usuwa tylko backslash, który znajduje się bezpośrednio przed rozpoznanym znakiem specjalnym; każda inna sekwencja backslashu lub źle sformatowana obwoluta alternatywy jest pozostawiana dokładnie tak, jak została wpisana, zamiast wyrzucenia błędu.
Czy mój tekst jest przesyłany gdziekolwiek?
Nie. Escapowanie i unescape działają całkowicie w twojej przeglądarce — nic, co tu wklejasz, nie jest wysyłane na serwer.