Tester regex vzorov
Výsledky zhody
Zadajte vzor a testovací text na zobrazenie výsledkov
Uložiť vzor
Výsledky zhody
Zadajte vzor a testovací text na zobrazenie výsledkov
Uložené vzory
Žiadne uložené vzory zatiaľ
Príručka symbolov regex
.
Zhoduje sa s akýmkoľvek znakom okrem nového riadku\d
Zhoduje sa s akýmkoľvek číslicou (0-9)\D
Zhoduje sa s akýmkoľvek nečíslom\w
Zhoduje sa s akýmkoľvek znakom slova (a-z, A-Z, 0-9, _)\W
Zhoduje sa s akýmkoľvek neznakom slova\s
Zhoduje sa s akýmkoľvek znakom prázdneho miesta\S
Zhoduje sa s akýmkoľvek neznakom prázdneho miesta^
Zhoduje sa so začiatkom riadku$
Zhoduje sa s koncom riadku*
Zhoduje sa s 0 alebo viac predchádzajúcich znakov+
Zhoduje sa s 1 alebo viac predchádzajúcich znakov?
Zhoduje sa s 0 alebo 1 predchádzajúcim znakom{n}
Zhoduje sa presne s n predchádzajúcimi znakmi{n,}
Zhoduje sa s aspoň n predchádzajúcimi znakmi{n,m}
Zhoduje sa s medzi n a m predchádzajúcimi znakmi[abc]
Zhoduje sa s ktorýmkoľvek z znakov v zátvorkách[^abc]
Zhoduje sa s akýmkoľvek znakom, ktorý nie je v zátvorkách(abc)
Zoskupuje viacero tokenov a zachytáva zhodua|b
Zhoduje sa buď s a alebo b\b
Zhoduje sa s pozíciou hranice slovaTester a validátor regex vzorov
Úvod
Tester vzorov regulárnych výrazov (regex) je nevyhnutný nástroj pre vývojárov, analytikov údajov a každého, kto pracuje s textovým spracovaním. Tento komplexný validátor vzorov regex umožňuje vytvárať, testovať a zdokonaľovať regulárne výrazy v reálnom čase, pričom poskytuje okamžitú vizuálnu spätnú väzbu o zhode vzorov. Či už validujete e-mailové adresy, parsujete protokolové súbory alebo extrahujete konkrétne údaje z textu, náš tester regexu urýchľuje proces vývoja a ladenia a robí ho intuitívnejším.
Regulárne výrazy sú mocné sekvencie na zhodu vzorov, ktoré umožňujú sofistikované vyhľadávanie textu, validáciu a manipuláciu. Ich syntax však môže byť zložitá a ťažko zvládnuteľná. Tento tester vzorov regexu zjednodušuje proces tým, že zvýrazňuje zhody pri písaní, validuje syntax vzoru a umožňuje vám ukladať často používané vzory pre budúce použitie.
Ako používať tester vzorov regex
Používanie nášho validátora vzorov regex je jednoduché a intuitívne. Postupujte podľa týchto krokov, aby ste začali:
-
Zadajte vzor regulárneho výrazu: Zadajte svoj regex vzor do určeného vstupného poľa. Nástroj validuje váš vzor v reálnom čase a upozorňuje vás na akékoľvek syntaktické chyby.
-
Vyberte vlajky regexu: Vyberte vhodné vlajky pre svoj vzor:
g
(Globálne): Nájdite všetky zhody namiesto zastavenia po prvej zhodei
(Bez ohľadu na veľkosť písmen): Urobte vzor bez ohľadu na veľkosť písmenm
(Viacriadkový): Urobte, aby^
a$
zodpovedali začiatku/koncu každého riadku- Rôzne kombinácie týchto vlajok sú k dispozícii v rozbaľovacom zozname
-
Zadajte testovací text: Zadajte text, ktorý chcete testovať voči svojmu vzoru, do oblasti testovacieho textu.
-
Zobrazte výsledky v reálnom čase: Ako píšete, nástroj automaticky:
- Zvýrazňuje všetky zhody vzoru v testovacom texte
- Zobrazuje celkový počet nájdených zhôd
- Uvádza, či vzor zodpovedá celému textu
-
Uložte užitočné vzory: Pre vzory, ktoré používate často:
- Zadajte popisný názov pre svoj vzor
- Kliknite na tlačidlo "Uložiť"
- Prístup k svojim uloženým vzorom z časti "Uložené vzory"
-
Kopírovanie výsledkov: Použite tlačidlo "Kopírovať zhody" na skopírovanie všetkých zhodných textov do schránky na použitie v iných aplikáciách.
Rozhranie je rozdelené do dvoch hlavných panelov: vstupný panel, kde zadávate svoj vzor a testovací text, a panel výsledkov, ktorý zobrazuje zhody a informácie o vzore.
Základy regulárnych výrazov
Regulárne výrazy používajú špeciálne znaky a sekvencie na definovanie vyhľadávacích vzorov. Tu je sprievodca základnými regex symbolmi podporovanými naším nástrojom:
Zhodovanie znakov
Symbol | Popis | Príklad | Zhody |
---|---|---|---|
. | Zhoduje sa s akýmkoľvek znakom okrem nového riadku | a.c | "abc", "adc", "a1c" atď. |
\d | Zhoduje sa s akýmkoľvek číslicou (0-9) | \d{3} | "123", "456", "789" atď. |
\D | Zhoduje sa s akýmkoľvek nečíslom | \D+ | "abc", "xyz" atď. |
\w | Zhoduje sa s akýmkoľvek znakom slova (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" atď. |
\W | Zhoduje sa s akýmkoľvek neznakom slova | \W+ | "!@#", " + " atď. |
\s | Zhoduje sa s akýmkoľvek znakom bieleho miesta | a\sb | "a b", "a\tb" atď. |
\S | Zhoduje sa s akýmkoľvek neznakom bieleho miesta | \S+ | "abc", "123" atď. |
Ukotvenia pozícií
Symbol | Popis | Príklad | Zhody |
---|---|---|---|
^ | Zhoduje sa so začiatkom riadka | ^abc | "abc" na začiatku riadka |
$ | Zhoduje sa s koncom riadka | abc$ | "abc" na konci riadka |
\b | Zhoduje sa s hranicou slova | \bword\b | "word" ako celé slovo |
Kvantifikátory
Symbol | Popis | Príklad | Zhody |
---|---|---|---|
* | Zhoduje sa s 0 alebo viacerými predchádzajúcimi znakmi | a*b | "b", "ab", "aab" atď. |
+ | Zhoduje sa s 1 alebo viacerými predchádzajúcimi znakmi | a+b | "ab", "aab", "aaab" atď. |
? | Zhoduje sa s 0 alebo 1 predchádzajúcim znakom | colou?r | "color", "colour" |
{n} | Zhoduje sa presne s n predchádzajúcimi znakmi | a{3} | "aaa" |
{n,} | Zhoduje sa s aspoň n predchádzajúcimi znakmi | a{2,} | "aa", "aaa", "aaaa" atď. |
{n,m} | Zhoduje sa medzi n a m predchádzajúcimi znakmi | a{2,4} | "aa", "aaa", "aaaa" |
Triedy znakov
Symbol | Popis | Príklad | Zhody |
---|---|---|---|
[abc] | Zhoduje sa s ktorýmkoľvek znakom v zátvorkách | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Zhoduje sa s ktorýmkoľvek znakom, ktorý nie je v zátvorkách | [^aeiou] | Akýkoľvek znak okrem "a", "e", "i", "o", "u" |
[a-z] | Zhoduje sa s ktorýmkoľvek znakom v rozsahu | [a-z] | Akékoľvek malé písmeno |
Skupinové a alternatívne zhodovanie
Symbol | Popis | Príklad | Zhody |
---|---|---|---|
(abc) | Skupinu viacerých tokenov a zachytáva zhodu | (abc)+ | "abc", "abcabc" atď. |
a|b | Zhoduje sa buď s a alebo b | cat|dog | "cat", "dog" |
Pokročilé regex vzory
Akonáhle zvládnete základy, môžete vytvárať sofistikovanejšie vzory na riešenie zložitých textových spracovateľských výziev:
Validácia e-mailu
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Tento vzor validuje e-mailové adresy tým, že zabezpečuje, aby dodržiavali štandardný formát: používateľské meno@doména.tld.
Validácia URL
^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
Tento vzor validuje URL, vrátane tých s alebo bez protokolu http/https.
Validácia telefónneho čísla (formát USA)
^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
Tento vzor zhoduje sa s telefónnymi číslami v USA v rôznych formátoch: (123) 456-7890, 123-456-7890 alebo 1234567890.
Validácia dátumu (RRRR-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
Tento vzor validuje dátumy vo formáte RRRR-MM-DD, s základnou validáciou pre rozsahy mesiacov a dní.
Predpoklady a za predpokladmi
Predpoklady a za predpokladmi umožňujú zhodovať vzory iba v prípade, že sú nasledované alebo predchádzajú iným vzorom:
- Pozitívny predpoklad:
a(?=b)
zhoduje sa s "a" iba ak je nasledované "b" - Negatívny predpoklad:
a(?!b)
zhoduje sa s "a" iba ak nie je nasledované "b" - Pozitívne za predpokladom:
(?<=a)b
zhoduje sa s "b" iba ak je predchádzané "a" - Negatívne za predpokladom:
(?<!a)b
zhoduje sa s "b" iba ak nie je predchádzané "a"
Práca s vlajkami regexu
Náš tester regexu podporuje rôzne vlajky, ktoré upravujú, ako sa vzory zhodujú:
- g (Globálne): Nájdite všetky zhody namiesto zastavenia po prvej zhode
- i (Bez ohľadu na veľkosť písmen): Urobte vzor bez ohľadu na veľkosť písmen
- m (Viacriadkový): Urobte, aby
^
a$
zodpovedali začiatku/koncu každého riadku - Kombinácie: Môžete kombinovať vlajky pre zložitejšie požiadavky na zhodu
Prípadové použitia testovania vzorov regex
Regulárne výrazy majú množstvo praktických aplikácií v rôznych oblastiach:
Webový vývoj
-
Validácia formulárov: Zabezpečte, aby vstupy používateľov zodpovedali požadovaným formátom:
- E-mailové adresy:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
- Heslá (s požiadavkami na zložitosti):
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
- URL:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
- E-mailové adresy:
-
Parsovanie HTML: Extrahujte konkrétne prvky alebo atribúty:
- Nájdite všetky obrázkové tagy:
<img[^>]+src="([^">]+)"
- Extrahujte odkazy:
<a[^>]+href="([^">]+)"
- Nájdite všetky obrázkové tagy:
Spracovanie údajov
-
Analýza protokolových súborov: Extrahujte informácie z protokolových záznamov:
- IP adresy:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
- Časové pečiatky:
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
- Chybové správy:
ERROR: .*
- IP adresy:
-
Parsovanie CSV: Spracovanie hodnôt oddelených čiarkou s potenciálnymi citovanými poliami:
- Matcher pre CSV pole:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- Matcher pre CSV pole:
Spracovanie textu
-
Nájdite a nahraďte: Identifikujte vzory na nahradenie:
- Odstráňte HTML tagy:
<[^>]*>
- Formátujte telefónne čísla:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- Odstráňte HTML tagy:
-
Extrahovanie obsahu: Vytiahnite konkrétne informácie z neštruktúrovaného textu:
- Extrahujte dátumy:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
- Nájdite peňažné hodnoty:
\$\d+(?:\.\d{2})?
- Extrahujte dátumy:
Programovanie a kódovanie
-
Syntax zvýraznenie: Identifikujte jazykové konštrukcie:
- Premenné JavaScriptu:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
- Definície funkcií:
function\s+([a-zA-Z_$][\w$]*)\s*\(
- Premenné JavaScriptu:
-
Refaktoring kódu: Nájdite vzory, ktoré potrebujú aktualizáciu:
- Zastarané API volania:
\.oldMethod\(
- Nezabezpečené funkcie:
eval\(
- Zastarané API volania:
Ukladanie a správa vzorov
Náš tester vzorov regexu obsahuje systém správy vzorov, ktorý vám umožňuje ukladať a znovu používať často používané výrazy:
Kedy ukladať vzory
Zvážte uloženie vzorov, ktoré:
- Používate často v rôznych projektoch
- Sú komplexné a ťažko zapamätateľné
- Slúžia na špecifické účely validácie vo vašej práci
- Ste zdokonalili po viacerých iteráciách
Najlepšie praktiky pre názvy vzorov
Pri ukladaní vzorov používajte popisné názvy, ktoré:
- Uvádzajú účel vzoru (napr. "Validátor e-mailu")
- Spomínajú konkrétne formáty (napr. "Telefónne číslo USA")
- Obsahujú informácie o verzii, ak na vzoroch iterujete (napr. "Validátor URL v2")
- Sú stručné, ale informatívne
Organizácia vzorov
Organizujte svoje uložené vzory podľa:
- Funkcie (validácia, extrakcia, nahradenie)
- Domény (webový vývoj, spracovanie údajov)
- Zložitosti (základné, pokročilé)
- Frekvencie použitia
Zdieľanie vzorov
Aj keď náš nástroj priamo nepodporuje zdieľanie vzorov medzi používateľmi, môžete:
- Skopírovať vzory na zdieľanie s kolegami
- Zdokumentovať svoje vzory v spoločnom úložisku
- Zahrnúť popisy vzorov do projektovej dokumentácie
Riešenie bežných problémov s regexom
Aj skúsení vývojári sa stretávajú s výzvami pri regulárnych výrazoch. Tu sú riešenia bežných problémov:
Syntaktické chyby
Ak váš vzor vykazuje validačnú chybu:
- Skontrolujte, či nie sú nezodpovedajúce zátvorky, zátvorky alebo zložené zátvorky
- Uistite sa, že špeciálne znaky sú správne escapeované spätným lomítkom
- Overte, či majú kvantifikátory predchádzajúci znak alebo skupinu
- Hľadajte neplatnú syntaxi triedy znakov
Problémy s výkonom
Ak je váš regex pomalý alebo spôsobuje oneskorenie prehliadača:
- Vyhnite sa nadmernému používaniu vnorených kvantifikátorov (napr.
(a+)+
) - Buďte opatrní pri predpokladoch a za predpokladmi vo veľkých textoch
- Zvážte použitie špecifickejších vzorov namiesto širokých
- Rozdeľte komplexné vzory na menšie, zvládnuteľnejšie časti
Neočakávané zhody
Ak váš vzor zhoduje sa s nechceným textom:
- Použite ukotvenia (
^
a$
) na zhodu celých reťazcov - Urobte triedy znakov špecifickejšími
- Pridajte hranice slov (
\b
) tam, kde je to vhodné - Použite negatívne predpoklady na vylúčenie určitých vzorov
Žiadne zhody nenájdené
Ak váš vzor nezodpovedá očakávanému textu:
- Skontrolujte problémy s citlivosťou na veľkosť písmen (zvážte použitie vlajky
i
) - Overte, či sú špeciálne znaky správne escapeované
- Testujte svoj vzor najprv na zjednodušených príkladoch
- Uistite sa, že používate správne triedy znakov
Alternatívy k regulárnym výrazom
Aj keď je regex mocný, nie je vždy najlepším riešením pre každú úlohu spracovania textu:
Metódy reťazca
Pre jednoduché textové operácie sú natívne metódy reťazca často jasnejšie a efektívnejšie:
String.indexOf()
na vyhľadávanie podreťazcovString.startsWith()
aString.endsWith()
na kontrolu hraníc reťazcaString.split()
na základnú tokenizáciu
Špecializované analyzátory
Pre štruktúrované formáty údajov sú venované analyzátory robustnejšie:
- JSON analyzátory pre JSON údaje
- XML/HTML analyzátory pre značkovacie jazyky
- CSV analyzátory pre tabuľkové údaje
Spracovanie prirodzeného jazyka (NLP)
Pre pochopenie významu textu skôr než len vzorov:
- Nástroje na analýzu sentimentu
- Rozpoznávanie pomenovaných entít
- Označovanie častí reči
Kedy zvoliť alternatívy
Zvážte alternatívy k regexu, keď:
- Štruktúra textu je veľmi pravidelná a jednoduchá
- Formát má k dispozícii štandardizovaný analyzátor
- Potrebujete pochopiť sémantický význam
- Výkon je kritický pre veľmi veľké texty
Často kladené otázky
Čo je regulárny výraz?
Regulárny výraz (regex) je sekvencia znakov, ktorá definuje vyhľadávací vzor. Tieto vzory sa dajú použiť na vyhľadávanie reťazcov, zhodu a operácie manipulácie s textom.
Prečo potrebujem tester vzorov regex?
Tester vzorov regex vám pomáha vyvíjať a ladit regulárne výrazy tým, že poskytuje okamžitú vizuálnu spätnú väzbu o zhode, validuje syntax vzoru a umožňuje vám experimentovať s rôznymi vzormi a vlajkami bez toho, aby ste ich museli implementovať v kóde.
Ako zhodovať doslovný špeciálny znak, ako je bodka alebo hviezdička?
Aby ste zhodovali doslovné špeciálne znaky, ktoré majú normálne špeciálny význam v regexe, musíte ich escapeovať spätným lomítkom. Napríklad, aby ste zhodovali doslovnú bodku, použite \.
namiesto len .
.
Aký je rozdiel medzi .*
a .*?
v regex vzore?
.*
je chamtivý kvantifikátor, ktorý zhoduje sa s čo najviac znakmi, zatiaľ čo .*?
je lenivý (nechamtivý) kvantifikátor, ktorý zhoduje sa s čo najmenším počtom znakov. Toto rozlíšenie je dôležité, keď chcete nájsť najkratšiu zhodu namiesto najdlhšej.
Môžem tento tester regexu použiť na vzory v akomkoľvek programovacom jazyku?
Aj keď je základná syntax regexu podobná v mnohých jazykoch, existujú jemné rozdiely v implementácii. Náš tester používa regex engine JavaScriptu, ktorý je kompatibilný s mnohými webovými jazykmi, ale môže mať rozdiely od regexu v jazykoch ako Python, Java alebo Perl.
Ako validujem celý reťazec pomocou regexu?
Aby ste validovali, že celý reťazec zodpovedá vzoru, použite ukotvenie ^
na začiatku a $
na konci vášho regexu. Napríklad, ^[0-9]+$
bude zodpovedať iba reťazcom, ktoré sa skladajú výlučne z číslic.
Čo sú zachytávacie skupiny a ako ich používať?
Zachytávacie skupiny, vytvorené pomocou zátvoriek ()
, vám umožňujú extrahovať konkrétne časti zhody textu. V našom testeri môžete vidieť všetky zhody, vrátane zachytených skupín. V programovacích jazykoch môžete zvyčajne pristupovať k týmto zachyteniam prostredníctvom indexovania výsledku zhody.
Ako môžem zefektívniť svoje regex vzory?
Aby ste zlepšili efektívnosť regexu: buďte špecifickí s triedami znakov, vyhnite sa zbytočným zachytávacím skupinám (použite nezachytávacie skupiny (?:...)
, keď je to možné), obmedzte používanie predpokladov/za predpokladmi, a vyhnite sa katastrofálnym spätným sledovaniam vzorov, ako sú vnorené kvantifikátory.
Aké sú najbežnejšie chyby regexu, ktorým sa treba vyhnúť?
Bežné chyby zahŕňajú: nezapísanie špeciálnych znakov, vytváranie vzorov, ktoré sú príliš chamtivé, zabúdanie na ukotvenie vzorov (s ^
a $
), a písanie príliš zložitých výrazov, ktoré sú ťažko udržiavateľné.
Môže regex zvládnuť vnorené štruktúry, ako je HTML?
Regulárne výrazy nie sú dobre prispôsobené na parsovanie vnorených štruktúr, ako je HTML alebo XML. Aj keď môžete vytvoriť regex vzory na jednoduché zhody HTML, je zvyčajne lepšie použiť venovaný HTML analyzátor na komplexné spracovanie HTML.
Odkazy
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Regulárny výraz." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regulárne výrazy." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- RegExr: Naučte sa, vytvárajte a testujte RegEx. https://regexr.com/
Vyskúšajte náš tester vzorov regexu ešte dnes, aby ste zjednodušili svoje úlohy spracovania textu, validovali formáty vstupu a extrahovali významné údaje z neštruktúrovaného textu. Či už ste začiatočník, ktorý sa učí základy regulárnych výrazov, alebo skúsený vývojár pracujúci na komplexnom zhodovaní vzorov, náš nástroj poskytuje funkcie, ktoré potrebujete na efektívne vytváranie, testovanie a zdokonaľovanie vašich regex vzorov.