Tester Regex
Flagi
Wpisz wyrażenie regularne, wklej tekst do przetestowania, a tester uruchomi wzorzec i wypisze każde znalezione dopasowanie. Każdy wynik pokazuje, gdzie dopasowanie się zaczyna, oraz zawartość każdej grupy przechwytującej, dzięki czemu widzisz dokładnie, co wzorzec pochwycił. Włącz flagi ignorowania wielkości liter, wielowierszową i dotall, aby zmienić zachowanie wzorca.
Jak przetestować regex
-
1
Wprowadź wzorzec
Wpisz wyrażenie bez ograniczników; tester sam ujmie je w `/ /`. Nieprawidłowy wzorzec pokazuje czytelny komunikat o błędzie, zamiast po cichu zawieść.
-
2
Wybierz flagi
Włącz `i` (ignoruje wielkość liter), `m` (wielowierszowa) lub `s` (dotall), aby dopasowywać tak, jak potrzebujesz.
-
3
Wklej tekst testowy
Dodaj tekst do przeszukania. Tester przechodzi przez całość i znajduje każde dopasowanie, nie tylko pierwsze.
-
4
Sprawdź dopasowania
Każde dopasowanie pokazuje swoją pozycję (offset) w tekście, całe dopasowanie oraz każdą numerowaną grupę przechwytującą.
Co pokazuje tester
Uruchomienie wzorca w głowie lub szybkim grep mówi, czy coś pasuje. Tester pokazuje dodatkowo:
- Każde dopasowanie z jego pozycją. Zawsze przeszukuje cały tekst i zgłasza każde dopasowanie z offsetem znaku, w którym się zaczyna.
- Która grupa co pochwyciła. Każde dopasowanie jest rozbite na całe dopasowanie i numerowane grupy przechwytujące, dzięki czemu potwierdzisz, że
(...)chwyciło oczekiwany fragment. - Co zmieniają flagi. Włącz
i,mlubsi przetestuj ponownie, aby zobaczyć, jak ignorowanie wielkości liter, tryb wielowierszowy lub dotall zmieniają wynik.
Flagi w skrócie
| Flaga | Nazwa | Co zmienia |
|---|---|---|
i |
Ignoruje wielkość liter | A pasuje też do a, i odwrotnie |
m |
Wielowierszowa | ^ i $ pasują na początku i końcu każdego wiersza, a nie tylko całego tekstu |
s |
Dotall | . pasuje też do znaków nowego wiersza |
Dopasowywanie jest zawsze globalne: tester zwraca każde dopasowanie w tekście, więc nie ma osobnej flagi „global“ do ustawienia. Wzorce działają na silniku PCRE z obsługą Unicode, więc klasy takie jak \w i \d zachowują się spójnie na tekście międzynarodowym.
Częste problemy z regex, które to pomaga wykryć
| Objaw | Zwykła przyczyna |
|---|---|
| Jedno ogromne dopasowanie obejmujące wszystko | .* jest zachłanne; użyj .*? lub klasy zanegowanej jak [^"]* |
^ lub $ pasuje tylko raz |
Brak flagi m przy tekście wielowierszowym |
. zatrzymuje się na znakach nowego wiersza |
Brak flagi s |
| Grupy przechwytujące w nieoczekiwanej kolejności | Zagnieżdżone ( przesuwają numery grup; policz je od lewej do prawej |
| Wzorzec działa wolno | Zagnieżdżone * lub + nad nakładającymi się alternatywami powodują duży nawrót |
Wskazówki dla szybszych, bezpieczniejszych wzorców
- Zakotwicz przez
^, gdy dopasowanie zaczyna się na początku, aby silnik nie przeszukiwał całego ciągu. - Wybieraj klasę znaków (
[abc]) zamiast alternatywy (a|b|c); klasy są szybsze w każdym dużym silniku. - Zamień zachłanne
.*na klasę zanegowaną jak[^"]*, gdy znasz znak kończący, aby nie było nawrotu.
Najczęściej zadawane pytania
Uruchamia Twój wzorzec za pomocą PCRE, silnika wbudowanego w PHP, z włączonym trybem Unicode. Składnia charakterystyczna dla PCRE, jak \d, \b i lookaroundy, działa zgodnie z oczekiwaniami. Jeśli użyjesz wzorca w JavaScript, Python lub innym języku, sprawdź drobne różnice składni przed wdrożeniem.
Każde. Tester zawsze przeszukuje cały tekst, więc nie ma osobnej flagi „global“ do ustawienia. Każde dopasowanie jest wypisane z pozycją w tekście.
Tak. Każde dopasowanie jest rozbite na całe dopasowanie i każdą numerowaną grupę przechwytującą, dzięki czemu potwierdzisz, którą część tekstu pochwyciło każde (...).
i sprawia, że dopasowywanie ignoruje wielkość liter, m powoduje, że ^ i $ pasują na każdej granicy wiersza, a s pozwala . pasować do znaków nowego wiersza. Włączaj je lub wyłączaj i testuj ponownie, aby porównać wyniki.
Tester pokazuje czytelny komunikat o błędzie opisujący problem, na przykład niedomknięty nawias lub niezakończoną grupę, zamiast po cichu zwracać brak dopasowań.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator EditorConfig
Zbuduj plik .editorconfig z własnych reguł wcięć, końca linii i kodowania, a potem dodaj poprawną sekcję dla każdego języka w repozytorium: Python, Go, YAML, Makefile i więcej.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Formatowanie HTML
Formatuj HTML lokalnie w przeglądarce, używając wcięć dwóch lub czterech spacji. HTML nie jest wysyłany ani walidowany.
Narzędzie jest dostępne w innych językach
- Testador de Regex [PT]
- Probador de Regex [ES]
- 正規表現テスター [JA]
- Regex-Tester [DE]
- أداة اختبار Regex [AR]
- Regex-testare [SV]
- Testeur de Regex [FR]
- 정규식 테스터 [KO]
- Regex-tester [NL]
- Trình kiểm tra Regex [VI]
- Penguji Regex [ID]
- ตัวทดสอบ Regex [TH]
- Tester di Regex [IT]
- Тестер Regex [RU]
- Regex Test Aracı [TR]
- 正则测试器 [ZH]
- Regex Tester [EN]