Tester regulárních výrazů
tools/development.regex-tester.editor.flags_hint
Proč používat náš tester regulárních výrazů?
Regulární výrazy (regex) jsou mocné nástroje pro porovnávání vzorů používané téměř v každém programovacím jazyce. Ladění regex může být složité — jediný špatný znak změní celé chování shody. Náš real-time tester zvýrazňuje shody při psaní, ukazuje detaily skupin zachycení a podporuje všechny příznaky JavaScript regex.
Živé zvýrazňování shod
Podívejte se na zvýrazněné shody v reálném čase při psaní — není třeba mačkat žádné tlačítko
Detaily skupin zachycení
Zobrazení všech skupin zachycení, jejich indexů a shodných hodnot pro každou shodu
Plná podpora příznaků
Přepínejte příznaky g, i, m, s, u, y nezávisle a sledujte, jak okamžitě ovlivňují shody
Jak testovat regex ve 3 krocích
Zadejte svůj vzor
Napište regulární výraz do pole vzoru (bez okolních lomítek)
Vyberte příznaky
Přepněte g (globální), i (nerozlišuje malá/velká), m (víceřádkový) a další příznaky podle potřeby
Vložte testovací řetězec
Zadejte text k otestování — shody budou automaticky zvýrazněny
Běžné případy použití regex
Validace formulářů
Ověření e-mailových adres, telefonních čísel, URL, PSČ a vlastních formátů
Vyhledávání a nahrazování textu
Hledání a nahrazování vzorů v editorech kódu, log souborech a textových procesních řetězcích
Parsování log souborů
Extrakce strukturovaných dat (IP adresy, časová razítka, kódy chyb) z nestrukturovaných log souborů
Sanitizace vstupů
Odstranění nebo nahrazení nebezpečných znaků ve vstupu uživatele před uložením nebo zobrazením
Osvědčené postupy regex
✓ Používejte kotvy pro přesné shody
Používejte ^ a $ pro ukotvení vzorů na začátek a konec řetězce, čímž zabráníte částečným shodám
✓ Pokud možno používejte nezachycující skupiny
Používejte (?:...) místo (...) když nepotřebujete skupinu zachytit, čímž zlepšíte výkon
✓ Escapujte speciální znaky
Znaky jako . * + ? ( ) [ ] { } | ^ $ \ mají speciální význam — escapujte je \ když chcete doslovné shody
✓ Testujte okrajové případy
Vždy testujte s prázdnými řetězci, Unicode znaky, velmi dlouhými vstupy a hraničními podmínkami
❓ Často kladené otázky
Jaký regex flavor tento tester používá?
Tento tester používá vestavěný JavaScriptový RegExp engine, který následuje standard ECMAScript. Podporuje všechny JS regex funkce včetně lookaheads, lookbehinds (ES2018+), pojmenovaných skupin zachycení a Unicode property escapes.
Jaký je rozdíl mezi příznaky g a m?
Příznak g (globální) najde všechny shody v řetězci místo jen první. Příznak m (víceřádkový) přiměje ^ a $ shodovat se se začátkem/koncem každého řádku místo celého řetězce. Slouží k různým účelům a lze je kombinovat.
Jak shodovat doslovnou tečku nebo hvězdičku?
Escapujte je zpětným lomítkem: \. shoduje doslovnou tečku, \* shoduje doslovnou hvězdičku. Ve třídě znaků [ ] většina speciálních znaků ztrácí svůj speciální význam, kromě ] \ ^ -.
Proč můj regex shoduje příliš mnoho?
Pravděpodobně používáte lačné kvantifikátory. Kvantifikátory * a + jsou ve výchozím nastavení lačné a shodují co nejvíce. Přidejte ? pro jejich líné chování: *? nebo +? shoduje co nejméně.