Preskoči na vsebino
100% lokalno

Regex iz primerov

Primere nizov pretvori v regularni izraz in preveri, katere primere ujema.

Vhod
Primjeri, ki jih vzorec ne sme ujemati
Izhod

Regex iz primerov

Prilepite nekaj nizov, ki bi jih vzorec moral ujemati — enega na vrstico — in to orodje odkrije regularni izraz, ki zajame obliko, ki jo delijo. Pod generiranim vzorcem je seznam vsakega primera s kljukico, tako da takoj vidite, ali je rezultat res pokril tisto, kar ste prilepili.

Raven posplošitve nadzira, kako dosledno je rezultat. "Točni znaki" ohrani vsak znak tak, kot je, in samo kombinira različno oblikovane primjere z alternacijo. "Razredi znakov" nadomesti števke, črke in presledke s \d, \p{Lu}/\p{Ll} in \s medtem ko ohrani točno število ponovitev iz vaših primerov. "Elastični kvantifikatorji" gredo dlje in spremenijo ta ponavljanja v ena-ali-več ujemanj, kar je bolje posploši, a tudi ujema več kot vaši primjeri. Privezovanje doda ^ in $, tako da se mora ujemati celoten niz namesto samo podstringa, razlikovanje med velikimi in malimi črkami nadzira, ali je velikost črk belangrijna, imenske grupe pa ovijajo spremenljive dele vzorca, da jih lahko kasneje izvlečete po imenu. Možnost dialekta prilagodi, kako so imenske grupe napisane za JavaScript, PCRE ali Python, saj se tri ne strinjajo glede te sintakse.

Dodajte nize, ki jih vzorec ne sme ujemati, v drugo polje, in orodje preverja generirani vzorec tudi zoper njih — vse negativne primjere, ki se jih še vedno ujema, so označeni, kar je najhitrejši način, da ujamete vzorec, ki je premalo strog. Vključite razlago, da boste dobili vzorec razdeljen na njegove posamezne dele z navadnim opisom jezika, kaj vsak nared.

Vse teče lokalno v vašem brskalniku: primjeri, ki jih prilepite, negativni primjeri in generirani vzorec nikoli ne zapustijo vašo napravo. Kopirajte rezultat, ga preuzmite kot datoteko .txt ali pošljite izhod nazaj v vnos, da ga izboljšate glede na več primerov.

FAQ

Ali generirani regex vedno ujema vsak primer, ki sem ga prilepil?
Da — vzorec je zgrajen neposredno iz vaših primerov, zato je namenjen, da ujema vse pod izbrano raven strogosti. Če imajo vaši primjeri res različne oblike, se orodje vrne ujemanju katerega koli od različnih oblik.
Kaj točno "razredi znakov" spremenijo?
Nadomesti serije števk, črk in presledkov z njihovim razredom regex (\d, \p{Lu}, \p{Ll}, \s) namesto dobesednih znakov, ob tem pa ohrani točno število ponovitev iz vaših primerov — tako da "AB12" postane \p{Lu}{2}\d{2}, ne dobesedno "AB12".
Zakaj je vzorec tudi ujemil enega od mojih negativnih primerov?
Negativno ujemanje ponavadi pomeni, da je posplošitev širša, kot ste namjeravali — poskusite strožjo raven, vključite privezovanje ali dodajte bolj specifičen negativen primer, da označena vrstica točno pokaže, kaj je ušlo.
Ali bo vzorec v Pythonu ali PCRE deloval popolnoma enako?
Razredi znakov in kvantifikatorji so skupni vsem dialektom, toda sintaksa poimenovane grupe se razlikuje — možnost dialekta samo prilagodi, kako se te grupe prikažejo (JavaScript uporablja (?<name>…), PCRE in Python tradicionalno uporabljata (?P<name>…)); vedno testirajte rezultat zoper vašo dejansko mehaniko.
Ali so moji primjeri nizov poslani nekam?
Ne. Vzorec je ustvarjen v celoti v vašem brskalniku — vaši primjeri in generirani regex nikoli ne zapustijo vašo napravo.