Whiz Tools

Tester regex vzorov

Kopírovať

Výsledky zhody

Zadajte vzor a testovací text na zobrazenie výsledkov

Uložiť vzor

Uložené vzory

Žiadne uložené vzory zatiaľ

Príručka symbolov regex

.Zhoduje sa s akýmkoľvek znakom okrem nového riadku
\dZhoduje sa s akýmkoľvek číslicou (0-9)
\DZhoduje sa s akýmkoľvek nečíslom
\wZhoduje sa s akýmkoľvek znakom slova (a-z, A-Z, 0-9, _)
\WZhoduje sa s akýmkoľvek neznakom slova
\sZhoduje sa s akýmkoľvek znakom prázdneho miesta
\SZhoduje 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 zhodu
a|bZhoduje sa buď s a alebo b
\bZhoduje sa s pozíciou hranice slova

Tester 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:

  1. 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.

  2. Vyberte vlajky regexu: Vyberte vhodné vlajky pre svoj vzor:

    • 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
    • Rôzne kombinácie týchto vlajok sú k dispozícii v rozbaľovacom zozname
  3. Zadajte testovací text: Zadajte text, ktorý chcete testovať voči svojmu vzoru, do oblasti testovacieho textu.

  4. 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
  5. 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"
  6. 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

SymbolPopisPríkladZhody
.Zhoduje sa s akýmkoľvek znakom okrem nového riadkua.c"abc", "adc", "a1c" atď.
\dZhoduje sa s akýmkoľvek číslicou (0-9)\d{3}"123", "456", "789" atď.
\DZhoduje sa s akýmkoľvek nečíslom\D+"abc", "xyz" atď.
\wZhoduje sa s akýmkoľvek znakom slova (a-z, A-Z, 0-9, _)\w+"abc123", "test_123" atď.
\WZhoduje sa s akýmkoľvek neznakom slova\W+"!@#", " + " atď.
\sZhoduje sa s akýmkoľvek znakom bieleho miestaa\sb"a b", "a\tb" atď.
\SZhoduje sa s akýmkoľvek neznakom bieleho miesta\S+"abc", "123" atď.

Ukotvenia pozícií

SymbolPopisPríkladZhody
^Zhoduje sa so začiatkom riadka^abc"abc" na začiatku riadka
$Zhoduje sa s koncom riadkaabc$"abc" na konci riadka
\bZhoduje sa s hranicou slova\bword\b"word" ako celé slovo

Kvantifikátory

SymbolPopisPríkladZhody
*Zhoduje sa s 0 alebo viacerými predchádzajúcimi znakmia*b"b", "ab", "aab" atď.
+Zhoduje sa s 1 alebo viacerými predchádzajúcimi znakmia+b"ab", "aab", "aaab" atď.
?Zhoduje sa s 0 alebo 1 predchádzajúcim znakomcolou?r"color", "colour"
{n}Zhoduje sa presne s n predchádzajúcimi znakmia{3}"aaa"
{n,}Zhoduje sa s aspoň n predchádzajúcimi znakmia{2,}"aa", "aaa", "aaaa" atď.
{n,m}Zhoduje sa medzi n a m predchádzajúcimi znakmia{2,4}"aa", "aaa", "aaaa"

Triedy znakov

SymbolPopisPríkladZhody
[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

SymbolPopisPríkladZhody
(abc)Skupinu viacerých tokenov a zachytáva zhodu(abc)+"abc", "abcabc" atď.
a|bZhoduje sa buď s a alebo bcat|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

  1. 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 \.-]*)*\/?$
  2. Parsovanie HTML: Extrahujte konkrétne prvky alebo atribúty:

    • Nájdite všetky obrázkové tagy: <img[^>]+src="([^">]+)"
    • Extrahujte odkazy: <a[^>]+href="([^">]+)"

Spracovanie údajov

  1. 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: .*
  2. Parsovanie CSV: Spracovanie hodnôt oddelených čiarkou s potenciálnymi citovanými poliami:

    • Matcher pre CSV pole: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Spracovanie textu

  1. 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
  2. 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})?

Programovanie a kódovanie

  1. 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*\(
  2. Refaktoring kódu: Nájdite vzory, ktoré potrebujú aktualizáciu:

    • Zastarané API volania: \.oldMethod\(
    • Nezabezpečené funkcie: eval\(

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ťazcov
  • String.startsWith() a String.endsWith() na kontrolu hraníc reťazca
  • String.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

  1. Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
  3. "Regulárny výraz." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
  4. MDN Web Docs. "Regulárne výrazy." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  5. 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.

Spätná väzba