Escapowanie tekstu, aby regex dopasował go dosłownie w JavaScript, Python, PHP, Java, Go lub .NET
Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane. Sprawdzono 16 października 2026.Escapowanie regex polega na wstawieniu ukośnika wstecznego przed każdym znakiem o specjalnym znaczeniu, tak aby wzorzec dopasował tekst dosłownie. 14 znaków, które trzeba escapować niemal wszędzie, to . ^ $ * + ? ( ) [ ] { } | oraz ukośnik wsteczny. Każdy język dodaje kilka kolejnych, a JavaScript i Java escapują inaczej.
Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał
Wklej tekst, który wzorzec ma dopasować dokładnie, lub kliknij Wypróbuj przykład.
Wybierz język: JavaScript, Python, PHP, Java, Go, .NET albo sed i grep.
Włącz Jeden na wiersz, aby dopasować dowolny z kilku wierszy połączonych przez |.
Kliknij Kopiuj lub naciśnij Ctrl+Enter i wklej wzorzec do kodu.
W wyrażeniu regularnym kropka oznacza dowolny znak, plus oznacza jeden lub więcej, a nawiasy kwadratowe rozpoczynają zbiór. Aby wyszukać tekst, który je zawiera, na przykład cenę w rodzaju $4.99 lub nazwę pliku w rodzaju report(1).pdf, każdy taki znak trzeba escapować. To narzędzie robi to tak samo jak własna funkcja escapująca danego języka, więc wzorzec zachowuje się dokładnie tak jak w kodzie.
| Język | Odpowiadająca funkcja | Uwagi |
|---|---|---|
| JavaScript | RegExp.escape |
escapuje też / i interpunkcję jako kody \x; działa z flagami u i v |
| Python | re.escape |
tylko znaki specjalne, od Python 3.7 |
| PHP | preg_quote($s, '/') |
dodaje = ! < > : - # oraz ogranicznik / |
| Java | Pattern.quote |
otacza tekst sekwencjami \Q i \E |
| Go | regexp.QuoteMeta |
najmniejszy zbiór: \ . + * ? ( ) | [ ] { } ^ $ |
| .NET | Regex.Escape |
także spacje i #, dla wzorców ignorujących białe znaki |
| sed, grep | Podstawowa składnia POSIX | . [ \ * ^ $ oraz ogranicznik / |
Jeden na wiersz. Po włączeniu każdy wiersz jest escapowany osobno, a wiersze są łączone przez |, dzięki czemu wzorzec dopasowuje dowolną pozycję z listy słów, adresów URL lub nazw plików. Puste wiersze i duplikaty są pomijane. W sed i grep łącznikiem jest |, który rozumieją narzędzia GNU.
Dowód, nie zaufanie. Dla JavaScript strona uruchamia wzorzec we własnym silniku przeglądarki i potwierdza, że dopasowuje on tekst i nic poza nim. Wynik dla JavaScript jest testowany w silniku z flagami u i v oraz bez nich, a wynik dla Pythona względem re.escape z CPython na 728 ciągach znaków.
Umieszczenie wzorca w literale łańcuchowym to drugi, osobny krok: ukośnik wsteczny w łańcuchu Java lub C# trzeba podwoić. Tę część wykonuje narzędzie String Escape.
Wszystko działa w przeglądarce; nic, co zostanie wklejone, nie jest nigdzie wysyłane.
Znaki o specjalnym znaczeniu: . ^ $ * + ? ( ) [ ] { } | oraz sam ukośnik wsteczny. We wzorcu działają jako symbole wieloznaczne, kotwice, powtórzenia lub grupy, więc dosłowną kropkę zapisuje się jako \., a dosłowny plus jako \+. Niektóre języki escapują kilka dodatkowych, na przykład / w JavaScript i PHP albo spacje w .NET.
Należy wstawić przed nią ukośnik wsteczny: \. dopasowuje tylko kropkę, a sama . dopasowuje dowolny znak. Dlatego example.com jako wzorzec dopasowuje też examplexcom, a example\.com dopasowuje tylko prawdziwą domenę. W nawiasach kwadratowych kropka jest już dosłowna, więc [.] także działa.
RegExp.escape zapisuje początkową literę lub cyfrę oraz interpunkcję, taką jak - , = i spacje, jako kody \x, aby wynik pozostał poprawny niezależnie od miejsca wstawienia: po \0 lub \c, wewnątrz klasy znaków albo z flagami u i v. Wzorzec jest dłuższy, ale zawsze dopasowuje tekst dosłownie.
Obie funkcje wstawiają ukośnik wsteczny przed znakami specjalnymi, ale preg_quote w PHP escapuje też = ! < > : - # oraz przekazany ogranicznik, zwykle /, a bajt NUL zapisuje jako \000. re.escape w Pythonie escapuje dodatkowo - & ~ # i białe znaki. Wynik każdej funkcji jest poprawny tylko dla jej własnego silnika.
Pattern.quote otacza tekst sekwencjami \Q i \E, które każą silnikowi Javy czytać wszystko pomiędzy nimi dosłownie. Jeśli sam tekst zawiera \E, Java zamyka cytowanie, dodaje escapowane \E i otwiera nowe. Aby użyć wyniku w kodzie źródłowym Javy, trzeba następnie podwoić każdy ukośnik wsteczny w literale łańcuchowym.
Należy escapować każde słowo i połączyć je pionową kreską: cat|dog|bird dopasowuje dowolne z trzech. Po włączeniu tutaj opcji Jeden na wiersz i wklejeniu listy każdy wiersz zostaje escapowany i połączony automatycznie, z pominięciem pustych wierszy i duplikatów. Dodanie ^( i )$ wokół sprawia, że dopasowywane są tylko całe wiersze.
Stawki i przepisy się zmieniają; przed oparciem się na danej liczbie należy sprawdzić źródło.
Nadal coś nie działa? Zapytaj o narzędzie Escapowanie regex a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.