Testujte regulární výrazy s okamžitým zvýrazněním shody, validací vzorů a vysvětlením běžných symbolů regex. Uložte a znovu použijte své často používané vzory s vlastními štítky.
Zadejte vzor a testovací text pro zobrazení výsledků
Zadejte vzor a testovací text pro zobrazení výsledků
Žádné uložené vzory zatím
.
Shoduje se s jakýmkoli znakem kromě nového řádku\d
Shoduje se s jakýmkoli číslem (0-9)\D
Shoduje se s jakýmkoli nečíselným znakem\w
Shoduje se s jakýmkoli znakem slova (a-z, A-Z, 0-9, _)\W
Shoduje se s jakýmkoli neznakem slova\s
Shoduje se s jakýmkoli znakem prázdného místa\S
Shoduje se s jakýmkoli znakem, který není prázdným místem^
Shoduje se se začátkem řádku$
Shoduje se s koncem řádku*
Shoduje se s 0 nebo více předchozím znakem+
Shoduje se s 1 nebo více předchozím znakem?
Shoduje se s 0 nebo 1 předchozím znakem{n}
Shoduje se přesně s n předchozími znaky{n,}
Shoduje se alespoň s n předchozími znaky{n,m}
Shoduje se mezi n a m předchozími znaky[abc]
Shoduje se s jakýmkoli z znaků v závorkách[^abc]
Shoduje se s jakýmkoli znakem, který není v závorkách(abc)
Skupiny více tokenů dohromady a zachycuje shodua|b
Shoduje se buď s a nebo b\b
Shoduje se s pozicí hranice slovaTester vzorů regulárních výrazů (regex) je nezbytným nástrojem pro vývojáře, datové analytiky a každého, kdo pracuje s textovým zpracováním. Tento komplexní validátor vzorů regex vám umožňuje vytvářet, testovat a zdokonalovat regulární výrazy v reálném čase, poskytující okamžitou vizuální zpětnou vazbu na shody vzorů. Ať už validujete e-mailové adresy, parsujete logy nebo extrahujete specifická data z textu, náš tester regexu urychluje proces vývoje a ladění a činí ho intuitivnějším.
Regulární výrazy jsou mocné sekvence pro shodu vzorů, které umožňují sofistikované vyhledávání textu, validaci a manipulaci. Jejich syntaxe však může být složitá a obtížně ovladatelná. Tento tester vzorů regex zjednodušuje proces tím, že zvýrazňuje shody, jakmile píšete, validuje syntaxi vzoru a umožňuje vám ukládat často používané vzory pro budoucí použití.
Používání našeho validátoru vzorů regex je jednoduché a intuitivní. Postupujte podle těchto kroků, abyste začali:
Zadejte vzor regulárního výrazu: Zadejte svůj regex vzor do určeného vstupního pole. Nástroj validuje váš vzor v reálném čase a upozorní vás na jakékoli syntaktické chyby.
Vyberte příznaky regexu: Zvolte vhodné příznaky pro svůj vzor:
g
(Globální): Najde všechny shody, místo aby se zastavil po první shoděi
(Bez ohledu na velikost písmen): Způsobí, že vzor nebude závislý na velikosti písmenm
(Víceřádkový): Způsobí, že ^
a $
odpovídají začátku/konce každého řádkuZadejte testovací text: Zadejte text, který chcete testovat proti svému vzoru, do oblasti testovacího textu.
Zobrazte výsledky v reálném čase: Jakmile píšete, nástroj automaticky:
Uložte užitečné vzory: Pro vzory, které používáte často:
Kopírujte výsledky: Použijte tlačítko "Kopírovat shody" pro zkopírování veškerého odpovídajícího textu do schránky pro použití v jiných aplikacích.
Rozhraní je rozděleno do dvou hlavních panelů: vstupního panelu, kde zadáváte svůj vzor a testovací text, a výsledkového panelu, který zobrazuje shody a informace o vzoru.
Regulární výrazy používají speciální znaky a sekvence k definování vyhledávacích vzorů. Zde je průvodce základními symboly regexu podporovanými naším nástrojem:
Symbol | Popis | Příklad | Shody |
---|---|---|---|
. | Odpovídá jakémukoli znaku kromě nového řádku | a.c | "abc", "adc", "a1c" atd. |
\d | Odpovídá jakémukoli číslu (0-9) | \d{3} | "123", "456", "789" atd. |
\D | Odpovídá jakémukoli nečíslu | \D+ | "abc", "xyz" atd. |
\w | Odpovídá jakémukoli znaku slova (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" atd. |
\W | Odpovídá jakémukoli neznaku slova | \W+ | "!@#", " + " atd. |
\s | Odpovídá jakémukoli znaku pro mezeru | a\sb | "a b", "a\tb" atd. |
\S | Odpovídá jakémukoli neznaku pro mezeru | \S+ | "abc", "123" atd. |
Symbol | Popis | Příklad | Shody |
---|---|---|---|
^ | Odpovídá začátku řádku | ^abc | "abc" na začátku řádku |
$ | Odpovídá konci řádku | abc$ | "abc" na konci řádku |
\b | Odpovídá hranici slova | \bword\b | "word" jako celé slovo |
Symbol | Popis | Příklad | Shody |
---|---|---|---|
* | Odpovídá 0 nebo více předchozímu znaku | a*b | "b", "ab", "aab" atd. |
+ | Odpovídá 1 nebo více předchozímu znaku | a+b | "ab", "aab", "aaab" atd. |
? | Odpovídá 0 nebo 1 předchozímu znaku | colou?r | "color", "colour" |
{n} | Odpovídá přesně n předchozímu znaku | a{3} | "aaa" |
{n,} | Odpovídá alespoň n předchozímu znaku | a{2,} | "aa", "aaa", "aaaa" atd. |
{n,m} | Odpovídá mezi n a m předchozímu znaku | a{2,4} | "aa", "aaa", "aaaa" |
Symbol | Popis | Příklad | Shody |
---|---|---|---|
[abc] | Odpovídá jakémukoli z znaků v závorkách | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Odpovídá jakémukoli znaku, který není v závorkách | [^aeiou] | Jakýkoli znak kromě "a", "e", "i", "o", "u" |
[a-z] | Odpovídá jakémukoli znaku v rozsahu | [a-z] | Jakýkoli malý písmeno |
Symbol | Popis | Příklad | Shody |
---|---|---|---|
(abc) | Skupiny více tokenů dohromady a zachytí shodu | (abc)+ | "abc", "abcabc" atd. |
a|b | Odpovídá buď a nebo b | cat|dog | "cat", "dog" |
Jakmile zvládnete základy, můžete vytvářet sofistikovanější vzory pro řešení složitých textových zpracovatelských výzev:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Tento vzor validuje e-mailové adresy tím, že zajišťuje, že dodržují standardní formát: uživatelské jméno@doména.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Tento vzor validuje URL, včetně těch s nebo bez protokolu http/https.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Tento vzor odpovídá telefonním číslům v USA v různých formátech: (123) 456-7890, 123-456-7890 nebo 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Tento vzor validuje data ve formátu YYYY-MM-DD, s základní validací pro rozsahy měsíců a dnů.
Lookahead a lookbehind aserce umožňují odpovídat vzorům pouze tehdy, pokud jsou následovány nebo předcházeny jiným vzorem:
a(?=b)
odpovídá "a" pouze pokud je následováno "b"a(?!b)
odpovídá "a" pouze pokud není následováno "b"(?<=a)b
odpovídá "b" pouze pokud je předcházeno "a"(?<!a)b
odpovídá "b" pouze pokud není předcházeno "a"Náš tester regexu podporuje různé příznaky, které mění způsob, jakým jsou vzory shodovány:
^
a $
odpovídají začátku/konce každého řádkuRegulární výrazy mají nespočet praktických aplikací v různých oblastech:
Validace formulářů: Zajistěte, aby uživatelské vstupy odpovídaly požadovaným formátům:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
Parsování HTML: Extrakce specifických prvků nebo atributů:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Analýza souborů logů: Extrakce informací z položek logu:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
Parsování CSV: Zpracování hodnot oddělených čárkami s potenciálními citovanými poli:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Najít a nahradit: Identifikace vzorů pro nahrazení:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Extrakce obsahu: Vytáhněte specifické informace z nestrukturovaného textu:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Syntax highlighting: Identifikace jazykových konstrukcí:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Refaktoring kódu: Najděte vzory, které je třeba aktualizovat:
\.oldMethod\(
eval\(
Náš tester vzorů regex zahrnuje systém správy vzorů, který vám umožňuje ukládat a znovu používat vaše často používané výrazy:
Zvažte uložení vzorů, které:
Při ukládání vzorů používejte popisné názvy, které:
Organizujte své uložené vzory podle:
Ačkoli náš nástroj přímo nepodporuje sdílení vzorů mezi uživateli, můžete:
I zkušení vývojáři se setkávají s výzvami s regulárními výrazy. Zde jsou řešení běžných problémů:
Pokud váš vzor vykazuje chybu validace:
Pokud je váš regex pomalý nebo způsobuje zpoždění prohlížeče:
(a+)+
)Pokud váš vzor odpovídá nežádoucímu textu:
^
a $
) k odpovídání celých řetězců\b
) tam, kde je to vhodnéPokud váš vzor neodpovídá očekávanému textu:
i
)I když je regex mocný, není vždy nejlepší řešení pro každý úkol textového zpracování:
Pro jednoduché textové operace jsou nativní metody řetězců často jasnější a efektivnější:
String.indexOf()
pro vyhledávání podřetězcůString.startsWith()
a String.endsWith()
pro kontrolu hranic řetězcůString.split()
pro základní tokenizaciPro strukturované formáty dat jsou specializované analyzátory robustnější:
Pro pochopení významu textu spíše než pouze vzorů:
Zvažte alternativy k regexu, když:
Regulární výraz (regex) je sekvence znaků, která definuje vyhledávací vzor. Tyto vzory lze použít pro vyhledávání řetězců, shodu a operace manipulace s textem.
Tester vzorů regex vám pomáhá vyvíjet a ladit regulární výrazy tím, že poskytuje okamžitou vizuální zpětnou vazbu na shody, validuje syntaxi vzoru a umožňuje vám experimentovat s různými vzory a příznaky, aniž byste je museli nejprve implementovat v kódu.
Chcete-li odpovídat na doslovné speciální znaky, které obvykle mají speciální význam v regexu, musíte je escapovat zpětným lomítkem. Například pro odpovídání na doslovnou tečku použijte \.
místo pouze .
.
.*
a .*?
v regex vzoru?.*
je hladový kvantifikátor, který odpovídá co nejvíce znakům, zatímco .*?
je líný (nehladový) kvantifikátor, který odpovídá co nejméně znakům. Toto rozlišení je důležité, když chcete najít nejkratší shodu spíše než nejdelší.
I když je základní syntaxe regexu podobná napříč mnoha jazyky, existují jemné rozdíly v implementaci. Náš tester používá regex engine JavaScriptu, který je kompatibilní s mnoha webovými jazyky, ale může mít rozdíly od regexu v jazycích jako Python, Java nebo Perl.
Chcete-li validovat, že celý řetězec odpovídá vzoru, použijte ukazatel ^
na začátku a ukazatel $
na konci vašeho regexu. Například ^[0-9]+$
bude odpovídat pouze řetězcům, které se skládají výhradně z číslic.
Zachycovací skupiny, vytvořené pomocí závorek ()
, vám umožňují extrahovat specifické části shody textu. V našem testeru můžete vidět všechny shody včetně zachycených skupin. V programovacích jazycích obvykle můžete přistupovat k těmto zachycením prostřednictvím indexování výsledku shody.
Pro zlepšení efektivity regexu: buďte konkrétní s znakovými třídami, vyhněte se zbytečným zachycovacím skupinám (použijte nezachycovací skupiny (?:...)
, když je to možné), omezte používání lookaheads/lookbehinds, a vyhněte se katastrofickým zpětným sledováním vzorů, jako jsou vnořené kvantifikátory.
Mezi běžné chyby patří: neescapování speciálních znaků, vytváření vzorů, které jsou příliš hladové, zapomínání na ukotvení vzorů (s ^
a $
), a psaní příliš složitých výrazů, které jsou obtížné na údržbu.
Regulární výrazy nejsou dobře přizpůsobeny pro parsování vnořených struktur, jako je HTML nebo XML. Ačkoli můžete vytvořit regex vzory pro jednoduché shody HTML, je obecně lepší použít specializovaný HTML parser pro složité zpracování HTML.
Vyzkoušejte náš tester vzorů regex ještě dnes, abyste zjednodušili své úkoly textového zpracování, validovali formáty vstupu a extrahovali smysluplná data z nestrukturovaného textu. Ať už jste začátečník, který se učí základy regulárních výrazů, nebo zkušený vývojář pracující na složitém shodování vzorů, náš nástroj poskytuje funkce, které potřebujete k efektivnímu vytváření, testování a zdokonalování vašich regex vzorů.
Objevte další nástroje, které by mohly být užitečné pro vaši pracovní postup.