Utilia

Regex-járnbrautarrit

Breyttu JavaScript-reglulegri segð í skýrt járnbrautarrit með hópum, valkostum, lykkjum og lookaround, og fluttu það út sem SVG eða PNG.

Flögg: hvaða af d g i m s u v y. Þú getur líka límt inn lýsingu eins og /\d+/g.

Söfnunarhópar
–
Valkostir
–
Endurtekningar
–

Járnbrautarrit

Blátt: bókstaflegur texti. Grænt: stafagerðir og mengi (rautt: útilokað mengi). Fjólublátt: akkeri og mörk. Appelsínugult: tilvísanir í fyrri hópa. Brotnir kassar: hópar og lookaround. Leið fyrir ofan hlut sleppir honum, leið fyrir neðan endurtekur hann.

Hvernig á að sýna reglulega segð myndrænt

  1. Sláðu inn eða límdu mynstrið í Regluleg segð. Þú getur líka límt inn heila JavaScript-lýsingu eins og /^\d{3}-\d{4}$/gm: skástrikin eru fjarlægð og flöggin færast sjálfkrafa í flaggareitinn.
  2. Bættu við Flögg ef þú þarft (hvaða af d g i m s u v y). Flögg breyta því hvernig sumir hlutar eru teiknaðir: með m verða ^ og $ „upphaf línu“ og „endir línu“; með s verður punkturinn „hvaða stafur sem er“.
  3. Ritið uppfærist um leið og þú slærð inn. Teikna rit teiknar það aftur eftir þörfum og Næsta dæmi fer í gegnum nokkur algeng mynstur (netfang, símanúmer, sextándakerfislitur, verð, HTML-merki, vefslóð).
  4. Lestu ritið frá vinstri til hægri, frá fylltum punkti að hringlaga punktinum. Hver leið sem þú getur fylgt er strengur sem mynstrið getur samsvarað.
  5. Notaðu Sækja SVG fyrir skarpa vektormynd (skjöl, glærur), Sækja PNG fyrir mynd í tvöfaldri upplausn eða Afrita SVG-kóða til að líma kóðann inn á vefsíðu.

Haltu bendli yfir kassa til að sjá þann hluta mynstursins sem hann kemur úr og stöðu hans.

Hvernig á að lesa járnbrautarrit

Járnbrautarrit, einnig kölluð setningafræðirit, lýsa málfræði sem safni spora. Regluleg segð er einmitt slík málfræði, þannig að teikningin sýnir byggingu hennar mun betur en þétt röð tákna:

  • Bláir kassar eru bókstaflegur texti sem þarf að birtast eins og hann er skrifaður, til dæmis „@“.
  • Grænir kassar eru stafagerðir (\d tölustafur, \w orðstafur, . hvaða stafur sem er …) og stafamengi. Mengi eins og [\w.+-] verður kassi með fyrirsögninni „einn af“ sem telur upp hvern hlut; neikvætt mengi [^…] er rautt með fyrirsögninni „enginn af“.
  • Fjólubláar pillur eru akkeri og mörk: upphaf og endir texta eða línu, \b orðamörk. Þau passa við stöðu, ekki staf.
  • Appelsínugulir brotnir kassar eru tilvísanir í fyrri hópa eins og \1 eða \k<name>: sami texti og hópur sem samsvaraði fyrr.
  • Brotnir rammar eru hópar. Söfnunarhópar eru númeraðir í þeirri röð sem opnandi svigar þeirra koma („hópur #2 „domain““); söfnunarlausir hópar (?:…) eru ekki í ramma. Lookahead og lookbehind fá bleikan ramma merktan „á eftir kemur“ eða „á undan fer“, því þau athuga textann án þess að taka hann.
  • Samhliða spor eru valkostir aðgreindir með |.
  • Spor fyrir ofan hlut leyfir þér að sleppa honum (?, *, {0,n}). Spor fyrir neðan með ör fer til baka til að endurtaka hann (+, *, {n,m}). Fjöldi sem er annar en venjulegu gildin er skrifaður undir lykkjuna, eins og „2 til 5 sinnum“, og löt endurtekningartákn (+?, *?) eru merkt „löt“.

Villuboð með stöðu

Mynstrið er athugað af JavaScript-vél vafrans þíns sjálfs, þannig að það sem þetta verkfæri tekur við er nákvæmlega það sem new RegExp() tekur við með sömu flöggum. Þegar vélin hafnar því bendir verkfærið á stafinn sem veldur vandanum með stöðu hans og bendli undir mynstrinu. Það þekkir ósamsvarandi ), hóp sem er aldrei lokað, stafamengi sem vantar ] í, endurtekningartákn án þess sem á að endurtaka (*a, a|+), stakan bakstrik í lokin og {n,m} endurtekningar þar sem n er stærra en m. Aðrar villur, eins og tilvísun í hópheiti sem er ekki til, eru sýndar með boðum vafrans.

Segðin er aðeins þýdd til að sannreyna hana: hún er aldrei keyrð á neinn texta og ekkert fer úr vafranum þínum.

Algengar spurningar

Hvaða regex-bragð styður verkfærið?

JavaScript (ECMAScript) reglulegar segðir, þar með talda nefnda hópa, lookbehind, Unicode-eiginleika \p{…} og v flaggið með hreiðruðum mengjum. Mynstur úr PCRE, Python eða Java virka yfirleitt líka, en málskipan sem er sérstök fyrir þær vélar, eins og eignarleg endurtekningartákn eða (?P<name>…), er hafnað því vafrinn styður hana ekki.

Af hverju er söfnunarlausi hópurinn minn ekki teiknaður sem kassi?

Hópur eins og (?:\.[\w-]+) hópar aðeins hluti þannig að endurtekningartákn eða val eigi við um þá alla. Hann býr ekki til neina söfnun, þannig að ritið sýnir innihald hans og lykkju án ramma, sem heldur teikningunni læsilegri. Hópar með línuflöggum eru í ramma merktum þeim flöggum.

Hver er munurinn á sleppispori og lykkju?

Sporið fyrir ofan hlut þýðir „núll sinnum er leyft“ og sporið fyrir neðan þýðir „það má endurtaka“. ? hefur aðeins efra sporið, + aðeins það neðra og * hefur bæði. Fyrir endurtekningartákn eins og {2,4} ber lykkjan merkinguna „2 til 4 sinnum“.

Get ég notað ritið í skjölunum mínum?

Já. SVG-útflutningurinn er sjálfstæð vektorskrá með hvítum bakgrunni og dökkum línum, tilvalin í README-skrár, wiki og glærur. PNG-útflutningurinn er teiknaður í tvöfaldri stærð skjámyndarinnar fyrir skarpa birtingu á skjáum með háa þéttni.

Eru stærðartakmörk?

Mynstur mega vera allt að 5 000 stafir að lengd. Mjög langar segðir gefa breitt rit sem þú getur skrunað lárétt; að skipta þeim í nefnda hluta auðveldar oft bæði ritið og regex-ið í viðhaldi.