DevToys Web Pro iconDevToys Web ProBlog
Ocijenite nas:
Isprobajte proširenje preglednika:

Tester regularnih izraza

Konfiguracija

Uzorak

Testni niz

  • Podudaranja

    Unesite uzorak da biste vidjeli podudaranja

    Zamijeni

    Referenca

    Klase znakova

    .Bilo koji znak osim novog retka
    [abc]Podudara a, b ili c
    [^abc]Podudara sve osim a, b, c
    [a-z]Raspon znakova (a do z)
    \dZnamenka (0-9)
    \DNe-znamenka
    \wZnak riječi [a-zA-Z0-9_]
    \WZnak koji nije znak riječi
    \sRazmak
    \SNe-razmak

    Sidra

    ^Početak niza/retka
    $Kraj niza/retka
    \bGranica riječi
    \BNije granica riječi

    Escape znakovi

    \tTabulator
    \nNovi redak
    \rPovratak kolica
    \0Nulti znak
    \xhhHeksadecimalni znak (npr. \xFF)
    \uhhhhUnicode znak

    Grupe i reference

    (abc)Grupa za hvatanje
    (?:abc)Grupa bez hvatanja
    (?<name>abc)Imenovana grupa za hvatanje
    \1Povratna referenca na grupu 1
    \k<name>Povratna referenca na imenovanu grupu

    Pogled oko

    (?=abc)Pozitivan lookahead
    (?!abc)Negativan lookahead
    (?<=abc)Pozitivan lookbehind
    (?<!abc)Negativan lookbehind

    Kvantifikatori i alternacija

    a*0 ili više (pohlepno)
    a+1 ili više (pohlepno)
    a?0 ili 1 (neobavezno)
    a{n}Točno n puta
    a{n,}n ili više puta
    a{n,m}Između n i m puta
    a*?0 ili više (lijeno)
    a+?1 ili više (lijeno)
    a|bPodudara a ili b

    Zamjena

    $1, $2Sadržaj uhvaćene grupe
    $&Cijelo podudaranje
    $`Prije podudaranja
    $'Nakon podudaranja
    $$Doslovni znak $
    Tehnički detalji

    Kako radi RegEx tester

    Što alat radi

    Regex tester omogućuje testiranje regularnih izraza nad uzorkom teksta u stvarnom vremenu. Funkcionira i kao regex debugger i kao regex validator, pomažući programerima izgraditi, testirati i doraditi izraze za podudaranje uzoraka. Ovaj tester koristi JavaScript RegExp mehanizam (ECMAScript), pa se sintaksa može razlikovati od PCRE, .NET ili Java regex mehanizama. Kada trebate testirati regex online, ovaj alat prikazuje sva podudaranja, grupe hvatanja i zamjene. Alat podržava JavaScript regex sintaksu uključujući JavaScript regex zastavice (g, i, m, s, u): globalno (g), neosjetljivo na velika/mala slova (i), višeredno (m), dotAll (s) i unicode (u). Ističe podudaranja u testnom stringu, prikazuje grupe hvatanja i može izvoditi operacije pronalaska i zamjene kako bi se prikazalo kako bi regex transformirao tekst.

    Uobičajeni slučajevi upotrebe za razvojne programere

    Programeri koriste regex testere pri izradi obrazaca za validaciju, parsiranju log datoteka ili izdvajanju podataka iz stringova. Testiranje regexp obrazaca pomaže prepoznati rubne slučajeve, otkloniti pogreške u složenim izrazima i razumjeti kako različite zastavice utječu na ponašanje podudaranja. Mnogi programeri koriste regex testere za validaciju e-mail adresa, telefonskih brojeva, URL-ova ili drugih strukturiranih formata podataka. Alat je vrijedan pri validaciji obrazaca, analizi logova ili zadacima obrade teksta. Regex testeri također pomažu pri učenju regularnih izraza, jer prikazuju kako se obrasci podudaraju s tekstom kroz iteraciju podudaranja i izdvajanje grupa. Pri testiranju regexp-a s višerednim tekstom ili posebnim znakovima, alat pomaže programerima vidjeti točno što se podudara i zašto.

    Formati podataka, vrste ili varijante

    Regex testeri obrađuju JavaScript sintaksu regularnih izraza, koja se temelji na Perl-stilu regexa uz neke razlike u odnosu na druge regex mehanizme. Alat podržava klase znakova poput \d za znamenke, \w za znakove riječi i \s za razmake. Podržava sidra ( ^, $), kvantifikatore (*, +, ?) i alternaciju (|). Zastavica multiline utječe na to kako se ^ i $ podudaraju, dok zastavica dotAll omogućuje da se . podudara sa znakovima novog reda. Razumijevanje ponašanja regexa s novim redovima ključno je za obradu višerednog teksta. Na primjer, testiranje uzorka poput /\d-\d-\d/ nad stringom telefonskog broja pokazuje točno koji se dijelovi podudaraju. Rukovanje novim redovima u regexu ovisi o zastavicama: uzorak ^foo.*bar$ podudara "foo\nbar" samo uz dotAll zastavicu (s), jer se . prema zadanim postavkama ne podudara s novim redovima. Pri radu s regex uzorcima za nove redove koristite \n za podudaranje doslovnih novih redova ili \r\n za Windows završetke redaka.

    Uobičajene zamke i rubni slučajevi

    Jedna česta pogreška je zaboraviti da JavaScript regex koristi kose crte kao razdjelnike, a ne navodnike. Drugi problem je nerazumijevanje kako globalna zastavica utječe na podudaranje: bez nje vraća se samo prvo podudaranje, a s njom se pronalaze sva podudaranja. Rukovanje novim redovima u regexu može biti nezgodno: znak . se prema zadanim postavkama ne podudara s novim redovima osim ako se ne koristi dotAll zastavica. Negacija klase znakova s [^...] može biti zbunjujuća, jer podudara bilo koji znak koji nije u klasi. Pohlepni naspram lijenih kvantifikatora ( * naspram *?) ponašaju se drugačije i mogu uzrokovati neočekivane rezultate. Asercije lookahead i lookbehind ( (?=...), (?&lt;=...)) su moćne, ali ih može biti teško otklanjati. Programeri bi trebali testirati regex obrasce s raznim unosima, uključujući rubne slučajeve poput praznih stringova, posebnih znakova i Unicode znakova.

    Kada koristiti ovaj alat umjesto koda

    Koristite ovaj regex tester za brzo razvijanje obrazaca, otklanjanje pogrešaka u složenim izrazima ili učenje sintakse regularnih izraza. Idealan je za testiranje regex obrazaca prije implementacije u kod, posebno pri radu s nepoznatom sintaksom ili složenim uzorcima. Vizualna povratna informacija pomaže utvrditi zašto se uzorak podudara ili ne podudara s određenim tekstom. Za produkcijski kod koristite regex testere integrirane u IDE-ove ili okvire za unit testiranje koji mogu validirati obrasce kao dio vašeg testnog skupa. Alati u pregledniku izvrsni su za interaktivni razvoj i učenje, dok rješenja temeljena na kodu pružaju automatizaciju, integraciju s CI/CD cjevovodima i mogućnost testiranja obrazaca nad velikim skupovima podataka. Za složene aplikacije, automatizirano testiranje regexa osigurava da obrasci rade ispravno kroz različite ulaze i rubne slučajeve.