DevToys Web Pro iconDevToys Web ProBlog
Oceń nas:
Wypróbuj rozszerzenie przeglądarki:

Tester wyrażeń regularnych

Konfiguracja

Wzorzec

Ciąg testowy

  • Dopasowania

    Wprowadź wzorzec, aby zobaczyć dopasowania

    Zamień

    Odniesienie

    Klasy znaków

    .Dowolny znak poza znakiem nowej linii
    [abc]Dopasuj a, b lub c
    [^abc]Dopasuj wszystko poza a, b, c
    [a-z]Zakres znaków (od a do z)
    \dCyfra (0-9)
    \DNiecyfra
    \wZnak słowa [a-zA-Z0-9_]
    \WZnak niebędący znakiem słowa
    \sBiały znak
    \SZnak niebędący białym znakiem

    Kotwice

    ^Początek ciągu/wiersza
    $Koniec ciągu/wiersza
    \bGranica słowa
    \BBrak granicy słowa

    Znaki ucieczki

    \tTabulator
    \nNowa linia
    \rPowrót karetki
    \0Znak null
    \xhhZnak szesnastkowy (np. \xFF)
    \uhhhhZnak Unicode

    Grupy i odwołania

    (abc)Grupa przechwytująca
    (?:abc)Grupa nieprzechwytująca
    (?<name>abc)Nazwana grupa przechwytująca
    \1Odwołanie wsteczne do grupy 1
    \k<name>Odwołanie wsteczne do nazwanej grupy

    Wyrażenia lookaround

    (?=abc)Pozytywne wyprzedzające sprawdzenie (lookahead)
    (?!abc)Negatywne wyprzedzające sprawdzenie (lookahead)
    (?<=abc)Pozytywne wsteczne sprawdzenie (lookbehind)
    (?<!abc)Negatywne wsteczne sprawdzenie (lookbehind)

    Kwantyfikatory i alternacja

    a*0 lub więcej (zachłannie)
    a+1 lub więcej (zachłannie)
    a?0 lub 1 (opcjonalnie)
    a{n}Dokładnie n razy
    a{n,}n lub więcej razy
    a{n,m}Od n do m razy
    a*?0 lub więcej (leniwe)
    a+?1 lub więcej (leniwe)
    a|bDopasuj a lub b

    Podstawianie

    $1, $2Zawartość przechwyconej grupy
    $&Całe dopasowanie
    $`Przed dopasowaniem
    $'Po dopasowaniu
    $$Dosłowny znak $
    Szczegóły techniczne

    Jak działa tester RegEx

    Co robi narzędzie

    Tester regex pozwala testować wyrażenia regularne na przykładowym tekście w czasie rzeczywistym. Działa zarówno jako debugger regex, jak i walidator regex, pomagając programistom tworzyć, testować i dopracowywać wyrażenia dopasowania wzorców. Ten tester używa silnika JavaScript RegExp (ECMAScript), więc składnia może różnić się od silników PCRE, .NET lub Java. Gdy chcesz przetestować regex online, to narzędzie pokazuje wszystkie dopasowania, grupy przechwytywania i zamiany. Narzędzie obsługuje składnię regex JavaScript, w tym flagi regex JavaScript (g, i, m, s, u): globalną (g), ignorującą wielkość liter (i), wielowierszową (m), dotAll (s) oraz unicode (u). Podświetla dopasowania w testowanym ciągu, wyświetla grupy przechwytywania i może wykonywać operacje znajdź-i-zamień, aby podejrzeć, jak regex przekształci tekst.

    Typowe zastosowania dla programistów

    Programiści używają testerów regex podczas tworzenia wzorców walidacji, parsowania plików logów lub wyodrębniania danych z ciągów znaków. Testowanie wzorców regexp pomaga identyfikować przypadki brzegowe, debugować złożone wyrażenia i zrozumieć, jak różne flagi wpływają na zachowanie dopasowania. Wielu programistów używa testerów regex do walidacji adresów e-mail, numerów telefonów, URL-i lub innych ustrukturyzowanych formatów danych. Narzędzie jest przydatne przy walidacji formularzy, analizie logów lub zadaniach przetwarzania tekstu. Testery regex pomagają też w nauce wyrażeń regularnych, ponieważ pokazują, jak wzorce dopasowują tekst poprzez iterację dopasowań i wyodrębnianie grup. Podczas testowania regexp z tekstem wielowierszowym lub znakami specjalnymi narzędzie pomaga programistom zobaczyć dokładnie, co jest dopasowywane i dlaczego.

    Formaty danych, typy lub warianty

    Testery regex obsługują składnię wyrażeń regularnych JavaScript, która bazuje na regex w stylu Perla z pewnymi różnicami względem innych silników regex. Narzędzie obsługuje klasy znaków, takie jak \ddla cyfr, \wdla znaków słowa oraz \sdla białych znaków. Obsługuje kotwice ( ^, $), kwantyfikatory (*, +, ?) oraz alternację (|). Flaga wielowierszowa wpływa na to, jak dopasowują ^i $, natomiast flaga dotAll sprawia, że .dopasowuje znaki nowej linii. Zrozumienie zachowania regex dla nowych linii jest kluczowe przy przetwarzaniu tekstu wielowierszowego. Na przykład testowanie wzorca /\d-\d-\d/ na ciągu z numerem telefonu pokazuje dokładnie, które fragmenty pasują. Obsługa nowych linii w regex zależy od flag: wzorzec ^foo.*bar$ dopasowuje "foo\nbar" tylko z flagą dotAll (s), ponieważ .domyślnie nie dopasowuje znaków nowej linii. Podczas pracy ze wzorcami regex dla nowych linii użyj \n, aby dopasować dosłowne znaki nowej linii, lub \r\n dla zakończeń linii w Windows.

    Typowe pułapki i przypadki brzegowe

    Jednym z częstych błędów jest zapominanie, że regex w JavaScript używa ukośników jako separatorów, a nie cudzysłowów. Innym problemem jest niezrozumienie, jak flaga globalna wpływa na dopasowanie: bez niej zwracane jest tylko pierwsze dopasowanie, a z nią znajdowane są wszystkie dopasowania. Obsługa nowych linii w regex bywa podchwytliwa: znak .domyślnie nie dopasowuje znaków nowej linii, chyba że użyta jest flaga dotAll. Negacja klasy znaków za pomocą [^...] może być myląca, ponieważ dopasowuje dowolny znak, który nie należy do klasy. Zachłanne vs leniwe kwantyfikatory ( *vs *?) zachowują się inaczej i mogą powodować nieoczekiwane wyniki. Asercje lookahead i lookbehind ( (?=...), (?&lt;=...)) są potężne, ale mogą być trudne do debugowania. Programiści powinni testować wzorce regex na różnych danych wejściowych, w tym na przypadkach brzegowych, takich jak puste ciągi, znaki specjalne i znaki Unicode.

    Kiedy używać tego narzędzia zamiast kodu

    Użyj tego testera regex do szybkiego tworzenia wzorców, debugowania złożonych wyrażeń lub nauki składni wyrażeń regularnych. Jest idealny do testowania wzorców regex przed wdrożeniem ich w kodzie, zwłaszcza podczas pracy z nieznaną składnią lub złożonymi wzorcami. Wizualna informacja zwrotna pomaga zidentyfikować, dlaczego wzorzec dopasowuje lub nie dopasowuje konkretnego tekstu. W kodzie produkcyjnym używaj testerów regex zintegrowanych z IDE lub frameworkami testów jednostkowych, które mogą walidować wzorce jako część Twojego zestawu testów. Narzędzia przeglądarkowe świetnie sprawdzają się w interaktywnym tworzeniu i nauce, natomiast rozwiązania oparte na kodzie zapewniają automatyzację, integrację z potokami CI/CD oraz możliwość testowania wzorców na dużych zbiorach danych. W złożonych aplikacjach automatyczne testowanie regex zapewnia, że wzorce działają poprawnie dla różnych danych wejściowych i przypadków brzegowych.