Edytor
Oczekiwanie na dane wejściowe lub wykonanie wyrażenia regularnego…
Akcje
Dlaczego warto używać tego testera wyrażeń regularnych
- Dopasowanie w czasie rzeczywistym z opcjonalnym trybem "na żywo", który uruchamia się ponownie podczas pisania
- Ustrukturyzowana lista dopasowań z indeksem początkowym, końcowym, wartością i nazwanymi grupami przechwytującymi
- Pełne wsparcie składni RegExp JavaScript/ECMAScript (ten sam silnik co w twoim środowisku JS)
- Kontrola flag: g, i, m, s, u, y – łącz i eksperymentuj bezpiecznie
- Podstawowy wgląd w wydajność z czasem wykonania na przebieg w milisekundach
- Podsumowanie wyjściowe tylko w formie tekstowej do szybkiego kopiowania/wklejania do zgłoszeń, dokumentacji lub komunikatów commitów
- Doskonałe do nauki: prototypuj wzorce bez uruchamiania pełnego projektu lub zestawu testów
- Idealne do codziennych zadań: parsowanie logów, walidacja, ekstrakcja URL/ID, szybkie czyszczenie danych
- Lista wyników jest delikatnie ograniczona, aby uniknąć zawieszenia interfejsu przy dopasowywaniu dużych tekstów
🔧 Jak używać testera wyrażeń regularnych for regex-tester
1. Wklej lub wpisz swój tekst testowy
Dodaj tekst, przez który chcesz przeszukiwać: logi, fragmenty, kawałki CSV, HTML, JSON, cokolwiek, co jest zwykłym tekstem.
2. Napisz swój wzorzec wyrażenia regularnego
Wprowadź wyrażenie regularne **bez otaczających ukośników**. Na przykład: <code>\b\w+@\w+\.\w+</code> dla podstawowego wzorca przypominającego email, lub <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> z nazwanymi grupami.
3. Ustaw flagi (g, i, m, s, u, y)
Przełączaj flagi takie jak <code>g</code> (globalne), <code>i</code> (bez uwzględniania wielkości liter) lub <code>m</code> (wielowierszowe). W tle tester buduje <code>new RegExp(pattern, flags)</code> dokładnie tak, jak robi to JavaScript.
4. Sprawdź dopasowania i grupy
Przejrzyj każde dopasowanie z jego indeksem, opcjonalnym indeksem końcowym i grupami przechwytującymi. Nazwane grupy pojawiają się jako mapa podobna do JSON, abyś mógł je skopiować do zestawów testowych, parserów lub dokumentacji.
5. Skopiuj podsumowanie
Użyj tekstowego podsumowania jako szybkiego raportu: zawiera listę dopasowań z indeksami i grupami, gotową do wklejenia do zgłoszeń, komentarzy przeglądu kodu lub ściągawek.
Szczegóły składni i silnika wyrażeń regularnych
Klasy znaków i podstawy
Podstawowe elementy budulcowe obsługiwane przez silnik RegExp JavaScript.
| Wzorzec | Znaczenie | Przykład |
|---|---|---|
| . | Dowolny znak z wyjątkiem znaków nowej linii (chyba że flaga <code>s</code>) | <code>a.c</code> → pasuje do <code>abc</code> |
| \d, \w, \s | Cyfry, znaki słowne, białe znaki | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Zanegowane wersje powyższych | <code>\S+</code> → ciągi niebędące białymi znakami |
| [abc] | Zbiór znaków | <code>[aeiou]</code> → pojedyncza samogłoska |
| [^abc] | Zbiór zanegowany | <code>[^0-9]</code> → nie-cyfra |
| ^, $ | Początek i koniec wejścia (lub linii z <code>m</code>) | <code>^Hello</code>, <code>!$</code> |
Kwantyfikatory
Powtórzenie poprzednich tokenów, z zachłannym i leniwym zachowaniem.
| Wzorzec | Znaczenie | Przykład |
|---|---|---|
| ? | 0 lub 1 raz | <code>colou?r</code> → pasuje do <code>color</code> i <code>colour</code> |
| * | 0 lub więcej | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 lub więcej | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Dokładnie n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | Przynajmniej n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | Pomiędzy n a m | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Grupy, Lookaroundy i Nazwane Przechwytywania
Zaawansowane funkcje oferowane przez nowoczesne silniki JavaScript.
| Funkcja | Składnia | Przykład |
|---|---|---|
| Grupy przechwytujące | (...) | <code>(\d{3})-(\d{2})</code> → obszar + sufiks |
| Grupy nieprzechwytujące | (?:...) | <code>(?:https?|ftp)://</code> |
| Odwołania wsteczne | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| Asercje w przód | (?=...), (?!...) | <code>\w+(?=! )</code> → słowo przed <code>! </code> |
| Asercje w tył* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → tekst po <code>#</code> (*w nowoczesnych silnikach) |
| Grupy nazwane | (?<name>...) | <code>(?<year>\d{4})</code> → <code>groups.year</code> w wynikach |
Flagi (Opcje)
Flagi testera odpowiadają bezpośrednio flagom JavaScript RegExp.
| Flaga | Nazwa | Efekt |
|---|---|---|
| g | Globalna | Znajdź wszystkie dopasowania zamiast tylko pierwszego |
| i | Ignoruj wielkość liter | Dopasowanie bez uwzględniania wielkości liter |
| m | Wielowierszowa | <code>^</code> i <code>$</code> dopasowują granice wierszy |
| s | DotAll | <code>.</code> również dopasowuje znaki nowej linii |
| u | Unicode | Włącza tryb Unicode i ucieczki właściwości w nowoczesnych silnikach |
| y | Przyklejony | Dopasowanie tylko przy bieżącym indeksie (używane z <code>lastIndex</code>) |
Wydajność i Bezpieczeństwo
Podstawowy silnik JavaScript wykonuje wyrażenia regularne synchronicznie. Aby zachować responsywność interfejsu, tester ogranicza liczbę zebranych dopasowań (np. pierwsze 500 trafień w trybie globalnym). Pomaga to uniknąć przeciążenia interfejsu, ale nie zastępuje pełnych audytów wydajności dla złożonych lub krytycznych wzorców.
Narzędzia Wyrażeń Regularnych w Linii Poleceń
Gdy Twój wzorzec działa tutaj, możesz ponownie użyć tego samego lub podobnego wyrażenia w terminalu, skryptach lub zadaniach CI:
Linux / macOS
Wyszukiwanie za pomocą grep (rozszerzone wyrażenia regularne)
grep -E 'pattern' file.txtZnajdź linie pasujące do danego wzorca
Wyszukiwanie i zamiana za pomocą sed
sed -E 's/pattern/replacement/g' input.txt > output.txtZamiany wsadowe w plikach tekstowych
Windows / PowerShell
Wyszukiwanie wyrażeń regularnych w PowerShell
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtZnajdź wzorce SSN w stylu amerykańskim w plikach dziennika (przykład)
Zamiana wyrażeń regularnych w PowerShell
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtProste zamiany oparte na wyrażeniach regularnych
Praktyczne Zastosowania Wyrażeń Regularnych
Tworzenie Stron i Aplikacji Frontend
- Walidacja adresów e-mail, nazw użytkowników, slugów lub niestandardowych identyfikatorów w formularzach
- Wyodrębnianie parametrów tras z adresów URL lub ścieżek
- Szybkie prototypowanie wzorców do walidacji po stronie klienta
// Podstawowa walidacja podobna do e-mail
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Parametry trasy: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Dzienniki, Dane i Backend
- Parsowanie znaczników czasu i poziomów z linii dziennika
- Normalizacja białych znaków i czyszczenie nieuporządkowanego tekstu
- Wyodrębnianie identyfikatorów, e-maili lub referencji z nieustrukturyzowanej treści
// Usuwanie powtarzających się białych znaków
const normalized = text.replace(/\s+/g, ' ').trim();// Prosty dopasowywacz linii dziennika
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Czyszczenie Danych i Szybkie Skrypty
- Usuwanie niechcianych tagów lub atrybutów HTML przed parsowaniem
- Wyciąganie wszystkich adresów URL, e-maili lub identyfikatorów z długiego fragmentu tekstu
- Przygotuj pola zestawu danych do importu do innego systemu
❓ Frequently Asked Questions
❓Dlaczego moje wyrażenie regularne niczego nie znajduje?
., ?, +), 2) Zapomnienie flagi g przy oczekiwaniu wielu dopasowań, 3) Brak kotwic (^, $) lub granic słów (\b), 4) Używanie funkcji, których silnik JavaScript jeszcze nie obsługuje (jak niektóre lookbehind). Spróbuj uprościć wzorzec i stopniowo dodawać elementy.⏱️Co oznacza czas wykonania (ms)?
performance.now(). Wartość jest przybliżonym pomiarem pojedynczego wykonania, jak długo trwało wykonanie wyrażenia regularnego na aktualnych danych. Przydaje się do wykrywania wyraźnie kosztownych wzorców, ale nie jest pełnym benchmarkiem ani gwarancją wydajności w produkcji.🔍Jaka jest różnica między pierwszym dopasowaniem a trybem globalnym?
g JavaScript zwraca tylko **pierwsze** dopasowanie (jeśli istnieje). Z g tester używa input.matchAll() do zebrania **wszystkich** dopasowań (ograniczonych do bezpiecznego maksimum), włącznie z indeksami i grupami przechwytującymi. Używaj trybu globalnego, gdy zależy Ci na wielu wystąpieniach.🌍Czy to obsługuje Unicode i sekwencje <code>\p{...}</code>?
u, aby przejść w tryb Unicode, który odblokowuje takie rzeczy jak \p{Letter} lub \p{Script=Greek} w nowoczesnych przeglądarkach i najnowszych wersjach Node.js.⚠️Czy to może wykryć katastrofalne backtracking?
Pro Tips
Buduj swoje wyrażenie regularne małymi krokami. Zacznij od czegoś prostego, co działa, a następnie dodawaj kotwice, grupy i kwantyfikatory krok po kroku.
Używaj nazwanych grup przechwytujących (<code>(?<name>...)</code>) tam, gdzie to możliwe. Sprawiają, że Twoje dopasowania są samoopisujące i znacznie łatwiejsze do odczytania podczas przeglądów kodu.
Uważaj z <code>.*</code> i zagnieżdżonymi kwantyfikatorami. Mogą powodować intensywny backtracking na dużych danych. Uczyń wzorce bardziej specyficznymi lub ogranicz powtórzenia za pomocą <code>{n,m}</code>.
Podczas debugowania tymczasowo usuń flagę <code>g</code> i skup się na pierwszym dopasowaniu, aby uprościć model mentalny.
Additional Resources
Other Tools
- Upiększacz CSS
- Upiększacz HTML
- Upiększacz JavaScript
- Upiększacz PHP
- Wybór koloru
- Ekstraktor sprite'ów
- Dekoder Base64
- Koder Base64
- Formatowanie C#
- Formatowanie CSV
- Dockerfile Formatter
- Formatowanie Elm
- Formatowanie ENV
- Formatowanie Go
- Formatowanie GraphQL
- Formatowanie HCL
- Formatowanie INI
- Formatowanie JSON
- Formatowanie LaTeX
- Formatowanie Markdown
- Formatowanie Objective-C
- Php Formatter
- Formatowanie Proto
- Formatowanie Python
- Formatowanie Ruby
- Formatowanie Rust
- Formatowanie Scala
- Formatowanie skryptów powłoki
- Formatowanie SQL
- Formatowanie SVG
- Formatowanie Swift
- Formatowanie TOML
- Typescript Formatter
- Formatowanie XML
- Formatowanie YAML
- Formatowanie Yarn
- Minifikator CSS
- Html Minifier
- Javascript Minifier
- Minifikator JSON
- Minifikator XML
- Przegląd nagłówków HTTP
- PDF do tekstu
- Sprawdzanie pozycji w SERP
- Wyszukiwanie Whois