DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyzkoušejte rozšíření pro prohlížeč:

Tester regulárních výrazů

Nastavení

Vzor

Testovací řetězec

  • Shody

    Zadejte vzor pro zobrazení shod

    Nahradit

    Reference

    Třídy znaků

    .Libovolný znak kromě nového řádku
    [abc]Odpovídá a, b nebo c
    [^abc]Odpovídá čemukoli kromě a, b, c
    [a-z]Rozsah znaků (a až z)
    \dČíslice (0-9)
    \DNečíselný znak
    \wZnak slova [a-zA-Z0-9_]
    \WZnak, který není znakem slova
    \sBílý znak
    \SNebílý znak

    Kotvy

    ^Začátek řetězce/řádku
    $Konec řetězce/řádku
    \bHranice slova
    \BNehranice slova

    Escape znaky

    \tTabulátor
    \nNový řádek
    \rNávrat vozíku
    \0Nulový znak
    \xhhHexadecimální znak (např. \xFF)
    \uhhhhUnicode znak

    Skupiny a reference

    (abc)Zachytávací skupina
    (?:abc)Nezachytávací skupina
    (?<name>abc)Pojmenovaná zachytávací skupina
    \1Zpětný odkaz na skupinu 1
    \k<name>Zpětný odkaz na pojmenovanou skupinu

    Lookaround

    (?=abc)Pozitivní lookahead
    (?!abc)Negativní lookahead
    (?<=abc)Pozitivní lookbehind
    (?<!abc)Negativní lookbehind

    Kvantifikátory a alternace

    a*0 nebo více (nenasytně)
    a+1 nebo více (nenasytně)
    a?0 nebo 1 (volitelné)
    a{n}Přesně n-krát
    a{n,}n-krát nebo více
    a{n,m}Mezi n a m-krát
    a*?0 nebo více (líně)
    a+?1 nebo více (líně)
    a|bOdpovídá a nebo b

    Nahrazování

    $1, $2Obsah zachycené skupiny
    $&Celá shoda
    $`Před shodou
    $'Po shodě
    $$Doslovný znak $
    Technické detaily

    Jak funguje tester RegEx

    Co nástroj dělá

    Tester regex vám umožňuje testovat regulární výrazy na ukázkovém textu v reálném čase. Funguje jako debugger i validátor regexu a pomáhá vývojářům vytvářet, testovat a ladit výrazy pro porovnávání vzorů. Tento tester používá JavaScriptový engine RegExp (ECMAScript), takže se syntaxe může lišit od PCRE, .NET nebo Java regex enginů. Když potřebujete testovat regex online, tento nástroj zobrazí všechny shody, zachytávací skupiny a nahrazení. Nástroj podporuje syntaxi JavaScript regex včetně příznaků JavaScript regex (g, i, m, s, u): global (g), case-insensitive (i), multiline (m), dotAll (s) a unicode (u). Zvýrazňuje shody v testovacím řetězci, zobrazuje zachytávací skupiny a umí provádět operace najít a nahradit, abyste si mohli prohlédnout, jak by regex text transformoval.

    Běžné případy použití pro vývojáře

    Vývojáři používají testery regex při tvorbě validačních vzorů, parsování log souborů nebo extrakci dat z řetězců. Testování regexp vzorů pomáhá odhalit okrajové případy, ladit složité výrazy a pochopit, jak různé příznaky ovlivňují chování shod. Mnoho vývojářů používá testery regex k validaci e-mailových adres, telefonních čísel, URL nebo jiných strukturovaných datových formátů. Nástroj je cenný při práci s validací formulářů, analýzou logů nebo úlohami zpracování textu. Testery regex také pomáhají při učení regulárních výrazů, protože ukazují, jak vzory odpovídají textu prostřednictvím iterace shod a extrakce skupin. Při testování regexp s víceřádkovým textem nebo speciálními znaky nástroj pomáhá vývojářům přesně vidět, co se shoduje a proč.

    Datové formáty, typy nebo varianty

    Testery regex zpracovávají syntaxi regulárních výrazů v JavaScriptu, která vychází z regexů ve stylu Perlu s některými rozdíly oproti jiným regex enginům. Nástroj podporuje znakové třídy jako \d pro číslice, \w pro znaky slov a \s pro bílé znaky. Zpracovává kotvy ( ^, $), kvantifikátory (*, +, ?) a alternaci (|). Příznak multiline ovlivňuje, jak se ^ a $ shodují, zatímco příznak dotAll způsobí, že . bude odpovídat znakům nového řádku. Porozumění chování regexu pro nové řádky je klíčové pro zpracování víceřádkového textu. Například testování vzoru jako /\d-\d-\d/ proti řetězci s telefonním číslem přesně ukáže, které části se shodují. Zpracování nových řádků v regexu závisí na příznacích: vzor ^foo.*bar$ odpovídá "foo\nbar" pouze s příznakem dotAll (s), protože . ve výchozím nastavení novým řádkům neodpovídá. Při práci se vzory regex pro nové řádky použijte \n pro shodu s doslovným novým řádkem nebo \r\n pro zakončení řádků ve Windows.

    Běžné nástrahy a okrajové případy

    Jednou z častých chyb je zapomenout, že JavaScript regex používá jako oddělovače dopředná lomítka, nikoli uvozovky. Dalším problémem je nepochopení toho, jak příznak global ovlivňuje shody: bez něj se vrátí pouze první shoda, ale s ním se najdou všechny shody. Zpracování nových řádků v regexu může být zrádné: znak . ve výchozím nastavení neodpovídá novým řádkům, pokud není použit příznak dotAll. Negace znakové třídy pomocí [^...] může být matoucí, protože odpovídá jakémukoli znaku, který není ve třídě. Hltavé vs líné kvantifikátory ( * vs *?) se chovají odlišně a mohou způsobit neočekávané výsledky. Aserce lookahead a lookbehind ( (?=...), (?&lt;=...)) jsou mocné, ale mohou se obtížně ladit. Vývojáři by měli testovat regex vzory s různými vstupy, včetně okrajových případů jako prázdné řetězce, speciální znaky a znaky Unicode.

    Kdy použít tento nástroj vs. kód

    Použijte tento tester regex pro rychlý vývoj vzorů, ladění složitých výrazů nebo učení syntaxe regulárních výrazů. Je ideální pro testování regex vzorů před jejich implementací v kódu, zejména při práci s neznámou syntaxí nebo složitými vzory. Vizuální zpětná vazba pomáhá odhalit, proč vzor odpovídá nebo neodpovídá konkrétnímu textu. Pro produkční kód používejte testery regex integrované do IDE nebo frameworků pro unit testy, které mohou validovat vzory jako součást vaší testovací sady. Nástroje v prohlížeči vynikají v interaktivním vývoji a učení, zatímco řešení založená na kódu poskytují automatizaci, integraci s CI/CD pipeline a možnost testovat vzory na velkých datových sadách. Pro složité aplikace automatizované testování regexu zajišťuje, že vzory fungují správně napříč různými vstupy a okrajovými případy.