Regex Testeris
Iškart išbandykite ir derinkite reguliariąsias išraiškas savo naršyklėje. Paryškinkite rungtynes, peržiūrėkite fiksavimo grupes ir naudokite pakeitimo režimą – nemokamai ir privačiai.
Iškart išbandykite ir derinkite reguliariąsias išraiškas savo naršyklėje. Paryškinkite rungtynes, peržiūrėkite fiksavimo grupes ir naudokite pakeitimo režimą – nemokamai ir privačiai.
Reguliarūs posakiai yra konkrečios srities kalba, skirta teksto šablonams derinti. Jie yra kompiuterių dalis nuo 1968 m. ir dabar yra integruoti į kiekvieną šiuolaikinę programavimo kalbą, teksto rengyklę ir komandinės eilutės paieškos įrankį. Sintaksė yra glausta, tačiau dažnai pasitaiko klaidų: maži pakeitimai sukelia subtiliai skirtingą atitikimo elgesį, o sudėtingos išraiškos greitai tampa neįskaitomos. Testeris, kuris rodo atitikmenis realiuoju laiku, kai redaguojate šabloną, yra efektyviausias būdas sukurti ir patikrinti reguliarųjį reiškinį.
Šis testeris veikia jūsų naršyklėje, naudodamas JavaScript regex modulį (tą patį, kurį naudoja jūsų programa, jei ji veikia naršyklėje). Šablonai ir bandomasis tekstas atnaujinami reaktyviai: kiekvienas bet kurio iš jų pakeitimas iš naujo paleidžia atitiktį. Atitikties grupės yra paryškintos, užfiksuotos grupės pateikiamos sąraše, o vėliavėlės (neskiriančios didžiųjų ir mažųjų raidžių, kelių eilučių, visuotinės) pateikiamos testavimui.
Regex sintaksė skirtinguose varikliuose labai skiriasi. JavaScript atitinka ECMAScript specifikaciją; „Python“, „PCRE“ (naudojamas PHP ir daugelis kitų), „Java“ ir „Go“ turi savo dialektus su persidengiančiomis, bet ne identiškomis funkcijomis. Čia sukurti šablonai naudoja ECMAScript sintaksę; Norint perkelti įvairius variklius, reikia patikrinti kiekvieno objekto dokumentus.
„Regex“ klaidas po įdiegimo sunku ištaisyti. Pagrįstai atrodantis modelis gali atitikti daugiau ar mažiau nei numatyta, sugesti kraštutiniais atvejais arba katastrofiškai atsitraukti naudojant tam tikras įvestis. Interaktyvus modelių testavimas pagal reprezentatyvią įvestį užfiksuoja problemas prieš kodo peržiūrą ir gamybą.
Modeliams taip pat naudinga dokumentacija. Rodant reguliarųjį reiškinį kartu su įvestimi, jis turi atitikti, o įvestis neturėtų atitikti, tikslas yra aiškus. Būsimi prižiūrėtojai (įskaitant ir jus po šešių mėnesių) labiau vertina dokumentais pagrįstus bandomuosius atvejus, o ne protingus vienetus.
Įveskite šabloną, įveskite bandomąją įvestį, žr. tiesiogiai paryškintas rungtynes.
„JavaScript“ reguliarioji išraiška atitinka ECMAScript specifikaciją. Pagrindinės funkcijos: simbolių klasės ([abc], [^abc]), kvantoriai (*, +, ?, {n,m}), kaitaliojimas (|), grupavimas ((...)), fiksavimo ir neužfiksavimo grupės, žvilgsnis į priekį ir atgal (šiuolaikiniai varikliai), atgalinės nuorodos, pavadintos grupės, Unicode ypatybių pabėgimai (su u vėliavėlės rinkiniu) ir standartinės reikšmės.
Svarbūs skirtumai nuo PCRE ir Python: „Lookbehind“ palaikymas neseniai sukurtas „JavaScript“ (2018+); pavadintos grupės naudoja (?<vardas>...) sintaksę; kai kuriems Unicode pabėgimams reikia, kad u vėliavėlė veiktų tinkamai. Raštai, skirti naudoti keliomis kalbomis, turėtų būti patikrinti pagal kiekvieno objekto dokumentus.
Našumas: grįžimu pagrįsti reguliariojo reiškinio varikliai (dauguma įskaitant „JavaScript“) gali turėti katastrofiškų tam tikrų patologinių dėsnių. Testai, kurie pakabina testerį, yra ženklas, kad šabloną reikia supaprastinti – paprastai vengiant įdėtų kvantiklių ir dviprasmiško kaitalio.