Regex testeris

Patikrinkite reguliarias išraiškas pagal tekstą ir peržiūrėkite visus paryškintus atitikmenis. Tai būtina programuotojams, dirbantiems su šablonų atitikimu, duomenų patvirtinimu ar teksto apdorojimu. Derinkite ir tobulinkite regex šablonus realiuoju laiku, naudodami vaizdinę grįžtamąją informaciją, rodančią, ką tiksliai atitinka jūsų išraiška.

Dažnai užduodami klausimai

Reguliarioji išraiška - tai simbolių seka, apibrėžianti paieškos šabloną. Regex naudojama teksto paieškai, atitikčiai ir tvarkymui pagal šablonus, o ne tikslias eilutes. Tai neįtikėtinai galingas įrankis tokioms užduotims, kaip el. pašto adresų tikrinimas, duomenų išgavimas iš teksto, radimo ir pakeitimo operacijos ir žurnalo failų analizė.

Įveskite regex šabloną į šablono lauką ir įklijuokite testo tekstą į teksto sritį. Įrankis realiuoju laiku išryškins visus atitikmenis ir parodys, ką tiksliai užfiksavo jūsų šablonas. Jei niekas neišryškėja, jūsų šablonas nesutampa. Naudodamiesi šia vaizdine grįžtamąja informacija, tobulinkite šabloną, kol jis atitiks būtent tai, ko jums reikia.

Dažniausiai pasitaikančios vėliavos yra šios: "g" (global) randa visus atitikmenis, o ne tik pirmąjį, "i" (case-insensitive) ignoruoja didžiųjų ir mažųjų raidžių skirtumus, "m" (multiline) ^ ir $ atitinka eilutės pradžią ir pabaigą, o ne tik eilutės pradžią ir pabaigą, o "s" (dotall) . atitinka naujos eilutės simbolius. Derinkite tokias vėliavėles kaip "gi", kad būtų galima atlikti visuotinį mažųjų ir didžiųjų raidžių neribotą atitikimą.

El. paštui: pabandykite /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ pagrindiniam patvirtinimui. URL adresams: /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/ works for most cases. Atkreipkite dėmesį, kad tobulas el. pašto ir (arba) URL patvirtinimas yra labai sudėtingas - šie šablonai tinka dažniausiai pasitaikantiems atvejams.

Taškas (.) atitinka bet kurį simbolį. Žvaigždutė (*) reiškia "nulis ar daugiau kartų", o pliusas (+) - "vienas ar daugiau kartų". Taigi .* atitinka nulį ar daugiau bet kokių simbolių (įskaitant nieko neatitinkantį simbolį), o .+ reikalauja, kad atitiktų bent vieną simbolį. Pavyzdžiui, "a.*b" atitinka "ab" arba "a123b", bet "a.+b" atitinka tik "a123b".

Pagal numatytuosius nustatymus tokie kiekybiniai rodikliai kaip *, + ir {n,m} yra gobšūs - jie atitinka kuo daugiau reikšmių. Jei po kiekybinio žymens pridėsite klausimo ženklą (?), jis nebus godus (tingus) ir atitiks kuo mažiau. Pavyzdžiui, tekste "<div>hello</div><div>world</div>" /<div>.*<\/div>/ atitinka visą eilutę (godus), o /<div>.*?<\/div>/ atitinka kiekvieną žymę atskirai (negailestingas).

Gaudymo grupėse skliaustai () naudojami tam tikroms atitikmens dalims išskirti. Pavyzdžiui, /user-(\d+)/ fiksuoja skaitmeninį naudotojo ID. Gautą reikšmę galima pasiekti daugeliu kalbų naudojant atitikmenų grupes. Kai reikia grupuoti kiekybinius rodiklius, bet nenorite užfiksuoti vertės, naudokite (?:...) nefiksuojančioms grupėms.

Į testo eilutės sritį įklijuokite žurnalo įrašų pavyzdžius ir sukurkite šablonus, kad išgautumėte laiko žymas, IP adresus, būsenos kodus arba klaidų pranešimus. Vaizdinis paryškinimas tiksliai parodo, kas sutampa, ir padeda patikslinti šablonus prieš diegiant juos į žurnalų analizės įrankius, tokius kaip "Logstash", "Splunk" ar pasirinktinius scenarijus.

Lookaheads (?=...) ir lookbehinds (?<=...) teigia, kad šablonas egzistuoja priekyje arba gale, neįtraukdami jo į atitikmenį. Pavyzdžiui, /\d+(?= doleriai)/ atitinka skaičius, po kurių eina " doleriai", bet fiksuoja tik skaičių. Neigiami lookheads (?!...) ir neigiami lookbehinds (?<!...) teigia, kad šablonas NEegzistuoja.

Taip! Išbandykite regex šablonus, skirtus formoms, pavyzdžiui, telefono numeriams, pašto kodams, kredito kortelėms ar pasirinktiniams formatams, patvirtinti. Vaizdinis grįžtamasis ryšys padeda įsitikinti, kad jūsų patvirtinimo šablonai teisingai priima galiojančius įvesties duomenis ir atmeta negaliojančius, prieš įgyvendinant juos savo programoje.