Whiz Tools

Regex modelių testeris

Kopijuoti

Atitikimo rezultatai

Įveskite modelį ir testo tekstą, kad pamatytumėte rezultatus

Išsaugoti modelį

Išsaugoti modeliai

Dar nėra išsaugotų modelių

Regex simbolių vadovas

.Atitinka bet kurį simbolį, išskyrus naują eilutę
\dAtitinka bet kurį skaitmenį (0-9)
\DAtitinka bet kurį neskaidmenį
\wAtitinka bet kurį žodžio simbolį (a-z, A-Z, 0-9, _)
\WAtitinka bet kurį ne žodžio simbolį
\sAtitinka bet kurį tarpo simbolį
\SAtitinka bet kurį ne tarpo simbolį
^Atitinka eilutės pradžią
$Atitinka eilutės pabaigą
*Atitinka 0 arba daugiau prieš tai buvusio simbolio
+Atitinka 1 arba daugiau prieš tai buvusio simbolio
?Atitinka 0 arba 1 prieš tai buvusio simbolio
{n}Atitinka tiksliai n prieš tai buvusio simbolio
{n,}Atitinka bent n prieš tai buvusio simbolio
{n,m}Atitinka tarp n ir m prieš tai buvusio simbolio
[abc]Atitinka bet kurį simbolį iš skliausteliuose
[^abc]Atitinka bet kurį simbolį, kuris nėra skliausteliuose
(abc)Grupuoja kelis simbolius kartu ir užfiksuoja atitikimą
a|bAtitinka arba a, arba b
\bAtitinka žodžio ribos poziciją

Regex Modelio Tester ir Validatorius

Įvadas

Reguliarių išraiškų (regex) modelio testeris yra būtinas įrankis kūrėjams, duomenų analitikams ir visiems, dirbantiems su teksto apdorojimu. Šis išsamus regex modelio validatorius leidžia jums kurti, testuoti ir tobulinti reguliarias išraiškas realiu laiku, teikdamas nedelsiant vizualinį atsiliepimą apie modelio atitikimus. Nesvarbu, ar jūs tikrinate el. pašto adresus, analizuojate žurnalo failus, ar ištraukiate konkrečius duomenis iš teksto, mūsų regex testeris pagreitina kūrimo ir derinimo procesą ir daro jį intuityvesnį.

Reguliariosios išraiškos yra galingi modelių atitikimo sekos, leidžiančios sudėtingą teksto paiešką, validavimą ir manipuliavimą. Tačiau jų sintaksė gali būti sudėtinga ir sunkiai įvaldoma. Šis regex modelio testeris supaprastina procesą, pažymėdamas atitikimus, kai rašote, tikrindamas modelio sintaksę ir leisdamas jums išsaugoti dažnai naudojamus modelius ateities nuorodai.

Kaip naudotis Regex modelio testeriu

Naudotis mūsų regex modelio validatoriumi yra paprasta ir intuityvu. Sekite šiuos žingsnius, kad pradėtumėte:

  1. Įveskite reguliariosios išraiškos modelį: Įrašykite savo regex modelį numatytoje įvesties lauke. Įrankis realiu laiku tikrina jūsų modelį, pranešdamas apie bet kokias sintaksės klaidas.

  2. Pasirinkite regex vėliavas: Pasirinkite tinkamas vėliavas savo modeliui:

    • g (Global): Rasti visus atitikimus, o ne sustoti po pirmo atitikimo
    • i (Nesvarbu atvejo): Padaryti modelį nesvarbų atvejo
    • m (Daugiaraktis): Padaryti, kad ^ ir $ atitiktų kiekvienos eilutės pradžią/pabaigą
    • Įvairios šių vėliavų kombinacijos yra prieinamos išskleidžiamajame sąraše
  3. Įveskite testinį tekstą: Įrašykite tekstą, kurį norite išbandyti pagal savo modelį, testinio teksto srityje.

  4. Peržiūrėkite rezultatus realiu laiku: Rašydami, įrankis automatiškai:

    • Pažymi visus modelio atitikimus testiniame tekste
    • Rodo bendrą rastų atitikimų skaičių
    • Nurodo, ar modelis atitinka visą tekstą
  5. Išsaugokite naudingus modelius: Dažnai naudojamiems modeliams:

    • Įrašykite aprašomąjį etiketę savo modeliui
    • Paspauskite mygtuką "Išsaugoti"
    • Pasiekite savo išsaugotus modelius "Išsaugoti modeliai" skyriuje
  6. Kopijuokite rezultatus: Naudokite mygtuką "Kopijuoti atitikimus", kad nukopijuotumėte visą atitinkančią tekstą į savo iškarpinę, kad galėtumėte naudoti kitose programose.

Sąsaja padalinta į dvi pagrindines paneles: įvesties panelę, kurioje įvedate savo modelį ir testinį tekstą, ir rezultatų panelę, kuri rodo atitikimus ir modelio informaciją.

Reguliariosios išraiškos pagrindai

Reguliariosios išraiškos naudoja specialius simbolius ir sekas, kad apibrėžtų paieškos modelius. Štai pagrindinių regex simbolių, palaikomų mūsų įrankyje, vadovas:

Simbolių atitikimas

SimbolisAprašymasPavyzdysAtitinka
.Atitinka bet kurį simbolį, išskyrus naują eilutęa.c"abc", "adc", "a1c" ir kt.
\dAtitinka bet kurį skaitmenį (0-9)\d{3}"123", "456", "789" ir kt.
\DAtitinka bet kurį neskaidmenį\D+"abc", "xyz" ir kt.
\wAtitinka bet kurį žodžio simbolį (a-z, A-Z, 0-9, _)\w+"abc123", "test_123" ir kt.
\WAtitinka bet kurį nesanario simbolį\W+"!@#", " + " ir kt.
\sAtitinka bet kurį tarpo simbolįa\sb"a b", "a\tb" ir kt.
\SAtitinka bet kurį nesanario simbolį\S+"abc", "123" ir kt.

Pozicijos ankeriai

SimbolisAprašymasPavyzdysAtitinka
^Atitinka eilutės pradžią^abc"abc" eilutės pradžioje
$Atitinka eilutės pabaigąabc$"abc" eilutės pabaigoje
\bAtitinka žodžio ribą\bword\b"word" kaip visas žodis

Kvalifikatoriai

SimbolisAprašymasPavyzdysAtitinka
*Atitinka 0 arba daugiau ankstesnio simbolioa*b"b", "ab", "aab" ir kt.
+Atitinka 1 arba daugiau ankstesnio simbolioa+b"ab", "aab", "aaab" ir kt.
?Atitinka 0 arba 1 ankstesnio simboliocolou?r"color", "colour"
{n}Atitinka tiksliai n ankstesnio simbolioa{3}"aaa"
{n,}Atitinka bent n ankstesnio simbolioa{2,}"aa", "aaa", "aaaa" ir kt.
{n,m}Atitinka tarp n ir m ankstesnio simbolioa{2,4}"aa", "aaa", "aaaa"

Simbolių klasės

SimbolisAprašymasPavyzdysAtitinka
[abc]Atitinka bet kurį simbolį iš skliaustų[aeiou]"a", "e", "i", "o", "u"
[^abc]Atitinka bet kurį simbolį, kuris nėra skliaustuose[^aeiou]Bet kuris simbolis, išskyrus "a", "e", "i", "o", "u"
[a-z]Atitinka bet kurį simbolį nurodytame intervale[a-z]Bet kuri mažoji raidė

Grupavimas ir alternatyva

SimbolisAprašymasPavyzdysAtitinka
(abc)Grupuoja kelis simbolius kartu ir užfiksuoja atitikimą(abc)+"abc", "abcabc" ir kt.
a|bAtitinka arba a, arba bcat|dog"cat", "dog"

Išplėstinės regex modeliai

Kai įvaldysite pagrindus, galėsite kurti sudėtingesnius modelius, kad išspręstumėte sudėtingas teksto apdorojimo problemas:

El. pašto validavimas

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Šis modelis tikrina el. pašto adresus, užtikrindamas, kad jie atitiktų standartinį formatą: vartotojo vardas@domenas.tld.

URL validavimas

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Šis modelis tikrina URL, įskaitant tuos, kurie turi arba neturi http/https protokolo.

Telefono numerio validavimas (JAV formatas)

^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$

Šis modelis atitinka JAV telefono numerius įvairiais formatais: (123) 456-7890, 123-456-7890 arba 1234567890.

Datos validavimas (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Šis modelis tikrina datas YYYY-MM-DD formatu, su pagrindine mėnesio ir dienos diapazono validacija.

Išankstiniai ir atgaliniai tikrinimai

Išankstiniai ir atgaliniai tikrinimai leidžia jums atitikti modelius tik tuo atveju, jei jie yra po ar prieš kitą modelį:

  • Teigiamas išankstinis tikrinimas: a(?=b) atitinka "a", tik jei jis yra po "b"
  • Neigiamas išankstinis tikrinimas: a(?!b) atitinka "a", tik jei jis nėra po "b"
  • Teigiamas atgalinis tikrinimas: (?<=a)b atitinka "b", tik jei jis yra prieš "a"
  • Neigiamas atgalinis tikrinimas: (?<!a)b atitinka "b", tik jei jis nėra prieš "a"

Dirbant su regex vėliavomis

Mūsų regex testeris palaiko įvairias vėliavas, kurios keičia, kaip modeliai yra atitinkami:

  • g (Global): Rasti visus atitikimus, o ne sustoti po pirmo atitikimo
  • i (Nesvarbu atvejo): Padaryti modelį nesvarbų atvejo
  • m (Daugiaraktis): Padaryti, kad ^ ir $ atitiktų kiekvienos eilutės pradžią/pabaigą
  • Kombinacijos: Galite derinti vėliavas sudėtingesniems atitikimo reikalavimams

Regex modelių testavimo naudojimo atvejai

Reguliariosios išraiškos turi daugybę praktinių taikymo sričių įvairiose srityse:

Žiniatinklio kūrimas

  1. Formų validavimas: Užtikrinti, kad vartotojo įvedimai atitiktų reikalaujamus formatus:

    • El. pašto adresai: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Slaptažodžiai (su sudėtingumo reikalavimais): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URL: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. HTML analizė: Ištraukti konkrečius elementus ar atributus:

    • Rasti visus vaizdo žymeles: <img[^>]+src="([^">]+)"
    • Ištraukti nuorodas: <a[^>]+href="([^">]+)"

Duomenų apdorojimas

  1. Žurnalo failų analizė: Ištraukti informaciją iš žurnalo įrašų:

    • IP adresai: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Laiko žymės: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Klaidos pranešimai: ERROR: .*
  2. CSV analizė: Apdoroti kablemis atskirtus duomenis su potencialiai cituotais laukais:

    • CSV lauko atitikimo modelis: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Teksto apdorojimas

  1. Rasti ir pakeisti: Nustatyti modelius pakeitimui:

    • Pašalinti HTML žymes: <[^>]*>
    • Formatuoti telefono numerius: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Turinio ištraukimas: Ištraukti konkrečią informaciją iš nesuformuoto teksto:

    • Ištraukti datas: \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
    • Rasti pinigų vertes: \$\d+(?:\.\d{2})?

Programavimas ir kodavimas

  1. Sintaksės paryškinimas: Nustatyti kalbos konstrukcijas:

    • JavaScript kintamieji: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Funkcijų apibrėžimai: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Kodo pertvarkymas: Rasti modelius, kuriuos reikia atnaujinti:

    • Pasenę API skambučiai: \.oldMethod\(
    • Nesaugūs funkcijos: eval\(

Modelių išsaugojimas ir valdymas

Mūsų regex modelio testeris apima modelių valdymo sistemą, leidžiančią jums išsaugoti ir pakartotinai naudoti dažnai naudojamus išraiškas:

Kada išsaugoti modelius

Apsvarstykite galimybę išsaugoti modelius, kurie:

  • Dažnai naudojami įvairiuose projektuose
  • Yra sudėtingi ir sunkiai įsimenami
  • Atlieka specifines validavimo funkcijas jūsų darbe
  • Jūs tobulinote po kelių iteracijų

Geriausios praktikos modelių etiketėms

Išsaugodami modelius, naudokite aprašomąsias etiketes, kurios:

  • Nurodo modelio tikslą (pvz., "El. pašto validatorius")
  • Nurodo specifinius formatus (pvz., "JAV telefono numeris")
  • Apima versijos informaciją, jei tobulinate modelius (pvz., "URL validatorius v2")
  • Yra glaustos, bet informatyvios

Modelių organizavimas

Organizuokite savo išsaugotus modelius pagal:

  • Funkciją (validavimas, ištraukimas, pakeitimas)
  • Sritį (žiniatinklio kūrimas, duomenų apdorojimas)
  • Sudėtingumą (pagrindinis, išplėstinis)
  • Naudojimo dažnumą

Modelių dalijimasis

Nors mūsų įrankis tiesiogiai nepalaiko modelių dalijimosi tarp vartotojų, galite:

  • Nukopijuoti modelius, kad pasidalintumėte su kolegomis
  • Dokumentuoti savo modelius bendroje saugykloje
  • Įtraukti modelių aprašymus į projekto dokumentaciją

Dažniausiai užduodami klausimai

Kas yra reguliarioji išraiška?

Reguliarioji išraiška (regex) yra simbolių seka, apibrėžianti paieškos modelį. Šie modeliai gali būti naudojami teksto paieškai, atitikimui ir manipuliavimui.

Kodėl man reikia regex modelio testerio?

Regex modelio testeris padeda jums kurti ir derinti reguliarias išraiškas, teikdamas nedelsiant vizualinį atsiliepimą apie atitikimus, tikrindamas modelio sintaksę ir leisdamas jums eksperimentuoti su skirtingais modeliais ir vėliavomis, nepriklausomai nuo to, ar turite juos pirmiausia įgyvendinti kode.

Kaip atitikti literalius specialius simbolius, tokius kaip taškas ar žvaigždutė?

Norėdami atitikti literalius specialius simbolius, kurie paprastai turi specialią reikšmę regex, turite juos pabėgti su atgaliniu brūkšniu. Pavyzdžiui, norėdami atitikti literalią tašką, naudokite \. vietoj tiesiog ..

Koks skirtumas tarp .* ir .*? regex modelyje?

.* yra godus kvalifikatorius, kuris atitinka kuo daugiau simbolių, tuo tarpu .*? yra tingus (negodus) kvalifikatorius, kuris atitinka kuo mažiau simbolių. Šis skirtumas yra svarbus, kai norite rasti trumpiausią atitikimą, o ne ilgiausią.

Ar galiu naudoti šį regex testerį modeliams bet kurioje programavimo kalboje?

Nors pagrindinė regex sintaksė yra panaši daugelyje kalbų, yra subtilių įgyvendinimo skirtumų. Mūsų testeris naudoja JavaScript regex variklį, kuris yra suderinamas su daugeliu žiniatinklio kalbų, tačiau gali turėti skirtumų nuo regex kalbų, tokių kaip Python, Java ar Perl.

Kaip aš galiu patvirtinti visą eilutę su regex?

Norėdami patvirtinti, kad visa eilutė atitinka modelį, naudokite ^ ankerį pradžioje ir $ ankerį pabaigoje savo regex. Pavyzdžiui, ^[0-9]+$ atitiks tik tas eilutes, kurios visiškai sudarytos iš skaitmenų.

Kas yra užfiksavimo grupės ir kaip jas naudoti?

Užfiksavimo grupės, sukurtos naudojant skliaustus (), leidžia jums ištraukti konkrečias atitinkančių tekstų dalis. Mūsų testeryje galite matyti visus atitikimus, įskaitant užfiksuotas grupes. Programavimo kalbose paprastai galite pasiekti šias užfiksuotas dalis, indeksuodami atitikimo rezultatą.

Kaip galiu padaryti savo regex modelius efektyvesnius?

Norėdami pagerinti regex efektyvumą: būkite konkretūs su simbolių klasėmis, venkite nereikalingų užfiksavimo grupių (naudokite ne užfiksuojančias grupes (?:...), kai tai įmanoma), ribokite išankstinių/atgalinių tikrinimų naudojimą dideliuose tekstuose ir apsvarstykite galimybę naudoti konkretesnius modelius, o ne plačius.

Kokios yra dažniausios regex klaidos, kurių reikia vengti?

Dažniausios klaidos apima: nesugebėjimą pabėgti specialių simbolių, sudėtingų modelių rašymą, pamiršimą ankerių modelių (su ^ ir $), ir per daug sudėtingų išraiškų rašymą, kurios sunkiai prižiūrimos.

Ar regex gali apdoroti įdėtus struktūras, tokias kaip HTML?

Reguliariosios išraiškos nėra gerai pritaikytos analizuoti įdėtus struktūras, tokias kaip HTML ar XML. Nors galite sukurti regex modelius paprastam HTML atitikimui, paprastai geriau naudoti specializuotą HTML analizatorių sudėtingam HTML apdorojimui.

Nuorodos

  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. "Reguliarioji išraiška." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
  4. MDN Web Docs. "Reguliariosios išraiškos." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Išmokite, kurkite ir testuokite RegEx. https://regexr.com/

Išbandykite mūsų regex modelio testerį šiandien, kad supaprastintumėte savo teksto apdorojimo užduotis, patvirtintumėte įvedimo formatus ir ištrauktumėte prasmingus duomenis iš nesuformuoto teksto. Nesvarbu, ar esate pradedantysis, mokantis reguliarių išraiškų pagrindų, ar patyręs kūrėjas, dirbantis su sudėtingu modelių atitikimu, mūsų įrankis teikia funkcijas, kurių reikia, kad efektyviai kurtumėte, testuotumėte ir tobulintumėte savo regex modelius.

Atsiliepimai