Whiz Tools

Tester za regex obrasce

Kopiraj

Rezultati podudaranja

Unesite obrazac i test tekst da vidite rezultate

Sačuvaj obrazac

Sačuvani obrasci

Nema sačuvanih obrazaca još

Vodič za regex simbole

.Podudara se sa bilo kojim karakterom osim novog reda
\dPodudara se sa bilo kojom cifrom (0-9)
\DPodudara se sa bilo kojom ne-cifrom
\wPodudara se sa bilo kojim rečnim karakterom (a-z, A-Z, 0-9, _)
\WPodudara se sa bilo kojim ne-rečnim karakterom
\sPodudara se sa bilo kojim praznim mestom
\SPodudara se sa bilo kojim ne-praznim mestom
^Podudara se sa početkom linije
$Podudara se sa krajem linije
*Podudara se sa 0 ili više prethodnih karaktera
+Podudara se sa 1 ili više prethodnih karaktera
?Podudara se sa 0 ili 1 prethodnog karaktera
{n}Podudara se sa tačno n prethodnih karaktera
{n,}Podudara se sa najmanje n prethodnih karaktera
{n,m}Podudara se sa između n i m prethodnih karaktera
[abc]Podudara se sa bilo kojim od karaktera u zagradama
[^abc]Podudara se sa bilo kojim karakterom koji nije u zagradama
(abc)Grupiše više tokena zajedno i hvata podudaranje
a|bPodudara se ili sa a ili sa b
\bPodudara se sa pozicijom granice reči

Tester i validator obrazaca za regularne izraze

Uvod

Tester obrazaca za regularne izraze (regex) je neophodan alat za programere, analitičare podataka i sve one koji rade sa obradom teksta. Ovaj sveobuhvatni validator obrazaca regex omogućava vam da kreirate, testirate i usavršavate regularne izraze u realnom vremenu, pružajući trenutne vizuelne povratne informacije o podudaranjima obrazaca. Bilo da validirate email adrese, parsirate log fajlove ili izdvajate specifične podatke iz teksta, naš tester regex-a čini proces razvoja i otklanjanja grešaka bržim i intuitivnijim.

Regularni izrazi su moćne sekvence za prepoznavanje obrazaca koje omogućavaju sofisticirano pretraživanje, validaciju i manipulaciju teksta. Međutim, njihova sintaksa može biti složena i teška za savladavanje. Ovaj tester obrazaca regex pojednostavljuje proces tako što ističe podudaranja dok kucate, validira sintaksu obrazaca i omogućava vam da sačuvate često korišćene obrasce za buduću referencu.

Kako koristiti tester obrazaca za regex

Korišćenje našeg validatora obrazaca regex je jednostavno i intuitivno. Pratite ove korake da biste započeli:

  1. Unesite obrazac regularnog izraza: Upišite svoj regex obrazac u predviđeno polje za unos. Alat validira vaš obrazac u realnom vremenu, upozoravajući vas na eventualne sintaktičke greške.

  2. Izaberite regex zastavice: Odaberite odgovarajuće zastavice za vaš obrazac:

    • g (Globalno): Pronađi sve podudarnosti umesto da stane nakon prve podudarnosti
    • i (Bez obzira na velika i mala slova): Učini obrazac neosetljivim na velika i mala slova
    • m (Višelinijski): Učini da ^ i $ odgovaraju početku/kraju svake linije
    • Različite kombinacije ovih zastavica su dostupne u padajućem meniju
  3. Unesite test tekst: Upišite tekst koji želite da testirate u odnosu na vaš obrazac u oblasti za testiranje teksta.

  4. Pogledajte rezultate u realnom vremenu: Dok kucate, alat automatski:

    • Ističe sve podudarnosti obrazaca u test tekstu
    • Prikazuje ukupan broj pronađenih podudarnosti
    • Ukazuje da li obrazac odgovara celom tekstu
  5. Sačuvajte korisne obrasce: Za obrasce koje često koristite:

    • Unesite opisnu oznaku za vaš obrazac
    • Kliknite na dugme "Sačuvaj"
    • Pristupite svojim sačuvanim obrascima iz sekcije "Sačuvani obrasci"
  6. Kopirajte rezultate: Koristite dugme "Kopiraj podudaranja" da kopirate sav istaknut tekst u vaš međuspremnik za korišćenje u drugim aplikacijama.

Interfejs je podeljen na dva glavna panela: panel za unos gde unosite svoj obrazac i test tekst, i panel rezultata koji prikazuje podudaranja i informacije o obrascu.

Osnovi regularnih izraza

Regularni izrazi koriste posebne karaktere i sekvence za definisanje obrazaca pretrage. Evo vodiča za osnovne regex simbole koje podržava naš alat:

Usklađivanje karaktera

SimbolOpisPrimerPodudaranja
.Podudara se sa bilo kojim karakterom osim novog redaa.c"abc", "adc", "a1c", itd.
\dPodudara se sa bilo kojim cifrom (0-9)\d{3}"123", "456", "789", itd.
\DPodudara se sa bilo kojim ne-cifrom\D+"abc", "xyz", itd.
\wPodudara se sa bilo kojim rečnim karakterom (a-z, A-Z, 0-9, _)\w+"abc123", "test_123", itd.
\WPodudara se sa bilo kojim ne-rečnim karakterom\W+"!@#", " + ", itd.
\sPodudara se sa bilo kojim belim karakteroma\sb"a b", "a\tb", itd.
\SPodudara se sa bilo kojim ne-belim karakterom\S+"abc", "123", itd.

Pozicioni sidri

SimbolOpisPrimerPodudaranja
^Podudara se sa početkom linije^abc"abc" na početku linije
$Podudara se sa krajem linijeabc$"abc" na kraju linije
\bPodudara se sa granicom reči\bword\b"word" kao cela reč

Kvantifikatori

SimbolOpisPrimerPodudaranja
*Podudara se sa 0 ili više prethodnog karakteraa*b"b", "ab", "aab", itd.
+Podudara se sa 1 ili više prethodnog karakteraa+b"ab", "aab", "aaab", itd.
?Podudara se sa 0 ili 1 prethodnog karakteracolou?r"color", "colour"
{n}Podudara se sa tačno n prethodnog karakteraa{3}"aaa"
{n,}Podudara se sa najmanje n prethodnog karakteraa{2,}"aa", "aaa", "aaaa", itd.
{n,m}Podudara se sa između n i m prethodnog karakteraa{2,4}"aa", "aaa", "aaaa"

Karakter klase

SimbolOpisPrimerPodudaranja
[abc]Podudara se sa bilo kojim od karaktera u zagradama[aeiou]"a", "e", "i", "o", "u"
[^abc]Podudara se sa bilo kojim karakterom koji nije u zagradama[^aeiou]Bilo koji karakter osim "a", "e", "i", "o", "u"
[a-z]Podudara se sa bilo kojim karakterom u opsegu[a-z]Bilo koje malo slovo

Grupisanje i alternativnost

SimbolOpisPrimerPodudaranja
(abc)Grupira više tokena zajedno i hvata podudaranje(abc)+"abc", "abcabc", itd.
a|bPodudara se ili sa a ili bcat|dog"cat", "dog"

Napredni regex obrasci

Kada savladate osnove, možete kreirati složenije obrasce za rešavanje izazova obrade teksta:

Validacija email-a

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

Ovaj obrazac validira email adrese osiguravajući da prate standardni format: korisničko_ime@domen.tld.

Validacija URL-a

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

Ovaj obrazac validira URL-ove, uključujući one sa ili bez http/https protokola.

Validacija brojeva telefona (US format)

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

Ovaj obrazac podudara se sa američkim brojevima telefona u raznim formatima: (123) 456-7890, 123-456-7890 ili 1234567890.

Validacija datuma (YYYY-MM-DD)

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

Ovaj obrazac validira datume u formatu YYYY-MM-DD, sa osnovnom validacijom opsega meseca i dana.

Lookahead i lookbehind

Lookahead i lookbehind asertacije omogućavaju vam da podudarate obrasce samo ako su praćeni ili prethodjeni drugim obrascem:

  • Pozitivan lookahead: a(?=b) podudara se sa "a" samo ako je praćeno "b"
  • Negativan lookahead: a(?!b) podudara se sa "a" samo ako nije praćeno "b"
  • Pozitivan lookbehind: (?<=a)b podudara se sa "b" samo ako je prethodjeno "a"
  • Negativan lookbehind: (?<!a)b podudara se sa "b" samo ako nije prethodjeno "a"

Rad sa regex zastavicama

Naš tester regex-a podržava različite zastavice koje modifikuju kako se obrasci podudaraju:

  • g (Globalno): Pronađi sve podudarnosti umesto da stane nakon prve podudarnosti
  • i (Bez obzira na velika i mala slova): Učini obrazac neosetljivim na velika i mala slova
  • m (Višelinijski): Učini da ^ i $ odgovaraju početku/kraju svake linije
  • Kombinacije: Možete kombinovati zastavice za složenije zahteve podudaranja

Upotrebe za testiranje obrazaca regex

Regularni izrazi imaju brojne praktične primene u različitim oblastima:

Web razvoj

  1. Validacija formi: Osigurajte da unosi korisnika odgovaraju potrebnim formatima:

    • Email adrese: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Lozinke (sa zahtevima za složenost): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URL-ovi: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. Parsiranje HTML-a: Izdvojite specifične elemente ili atribute:

    • Pronađite sve slike: <img[^>]+src="([^">]+)"
    • Izdvojite linkove: <a[^>]+href="([^">]+)"

Obrada podataka

  1. Analiza log fajlova: Izdvojite informacije iz log unosa:

    • IP adrese: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Vremenske oznake: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Poruke grešaka: ERROR: .*
  2. Parsiranje CSV-a: Obradite vrednosti odvojene zarezima sa potencijalnim citiranim poljima:

    • Matcher za CSV polja: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Obrada teksta

  1. Pronađi i zameni: Identifikujte obrasce za zamenu:

    • Uklonite HTML tagove: <[^>]*>
    • Formatirajte brojeve telefona: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Izdvajanje sadržaja: Izvucite specifične informacije iz nestrukturiranog teksta:

    • Izdvojite datume: \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
    • Pronađite novčane vrednosti: \$\d+(?:\.\d{2})?

Programiranje i kodiranje

  1. Isticanje sintakse: Identifikujte konstrukcije jezika:

    • JavaScript promenljive: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Definicije funkcija: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Refaktorisanje koda: Pronađite obrasce koji trebaju ažuriranje:

    • Zastarjeli API pozivi: \.oldMethod\(
    • Nesigurne funkcije: eval\(

Čuvanje i upravljanje obrascima

Naš tester obrazaca regex uključuje sistem upravljanja obrascima koji vam omogućava da sačuvate i ponovo koristite svoje često korišćene izraze:

Kada sačuvati obrasce

Razmotrite čuvanje obrazaca koji:

  • Često koristite u različitim projektima
  • Su složeni i teški za pamćenje
  • Služe specifičnim svrhama validacije u vašem radu
  • Ste usavršili nakon više iteracija

Najbolje prakse za oznake obrazaca

Kada sačuvate obrasce, koristite opisne oznake koje:

  • Ukazuju na svrhu obrasca (npr. "Validator email-a")
  • Pominju specifične formate (npr. "Broj telefona u SAD-u")
  • Uključuju informacije o verziji ako iterirate na obrascima (npr. "Validator URL-a v2")
  • Su sažete, ali informativne

Organizacija obrazaca

Organizujte svoje sačuvane obrasce po:

  • Funkciji (validacija, izdvajanje, zamena)
  • Oblasti (web razvoj, obrada podataka)
  • Složenosti (osnovni, napredni)
  • Učestalosti korišćenja

Deljenje obrazaca

Dok naš alat ne podržava direktno deljenje obrazaca između korisnika, možete:

  • Kopirati obrasce da ih podelite sa kolegama
  • Dokumentovati svoje obrasce u zajedničkoj biblioteci
  • Uključiti opise obrazaca u dokumentaciju projekta

Rešavanje uobičajenih problema sa regex-om

Čak i iskusni programeri se suočavaju sa izazovima sa regularnim izrazima. Evo rešenja za uobičajene probleme:

Sintaktičke greške

Ako vaš obrazac prikazuje grešku validacije:

  • Proverite da li su zagrade, uglaste zagrade ili vitičaste zagrade neusklađene
  • Osigurajte da su posebni karakteri pravilno escape-ovani sa obrnutim kosim crticama
  • Proverite da li kvantifikatori imaju prethodni karakter ili grupu
  • Potražite nevažeću sintaksu karakter klase

Problemi sa performansama

Ako je vaš regex spor ili uzrokuje zastoje u pretraživaču:

  • Izbegavajte prekomernu upotrebu ugnježdenih kvantifikatora (npr. (a+)+)
  • Budite oprezni sa lookahead-ima i lookbehind-ima u velikim tekstovima
  • Razmislite o korišćenju specifičnijih obrazaca umesto širokih
  • Podelite složene obrasce na manje, lakše upravljive delove

Neočekivana podudaranja

Ako vaš obrazac podudara sa neželjenim tekstom:

  • Koristite sidra (^ i $) da podudarate cele stringove
  • Učinite karakter klase specifičnijim
  • Dodajte granice reči (\b) gde je to prikladno
  • Upotrebite negativne lookahead-e da isključite određene obrasce

Nema podudaranja

Ako vaš obrazac ne podudara sa očekivanim tekstom:

  • Proverite probleme sa osetljivošću na velika i mala slova (razmotrite korišćenje i zastavice)
  • Proverite da li su posebni karakteri pravilno escape-ovani
  • Testirajte svoj obrazac na pojednostavljenim primerima prvo
  • Osigurajte da koristite ispravne karakter klase

Alternativa regularnim izrazima

Iako je regex moćan, nije uvek najbolje rešenje za svaku obradnu zadatak teksta:

Metode stringova

Za jednostavne operacije teksta, nativne metode stringova su često jasnije i efikasnije:

  • String.indexOf() za pronalaženje podstringova
  • String.startsWith() i String.endsWith() za proveru granica stringa
  • String.split() za osnovnu tokenizaciju

Specijalizovani analizatori

Za strukturirane formate podataka, posvećeni analizatori su robusniji:

  • JSON analizatori za JSON podatke
  • XML/HTML analizatori za markup jezike
  • CSV analizatori za tabelarne podatke

Obrada prirodnog jezika (NLP)

Za razumevanje značenja teksta umesto samo obrazaca:

  • Alati za analizu sentimenta
  • Prepoznavanje imenskih entiteta
  • Oznaka dela govora

Kada odabrati alternative

Razmotrite alternative za regex kada:

  • Struktura teksta je veoma redovna i jednostavna
  • Format ima standardizovani analizator dostupan
  • Trebate razumeti semantičko značenje
  • Performanse su kritične za veoma velike tekstove

Često postavljana pitanja

Šta je regularni izraz?

Regularni izraz (regex) je sekvenca karaktera koja definiše obrazac pretrage. Ovi obrasci se mogu koristiti za pretraživanje stringova, podudaranje i operacije manipulacije tekstom.

Zašto mi treba tester obrazaca regex?

Tester obrazaca regex pomaže vam da razvijate i otklanjate greške u regularnim izrazima pružajući trenutne vizuelne povratne informacije o podudaranjima, validirajući sintaksu obrazaca i omogućavajući vam da eksperimentišete sa različitim obrascima i zastavicama bez potrebe da ih prvo implementirate u kod.

Kako da podudarim literalni specijalni karakter kao što su tačka ili zvezdica?

Da biste podudarili literalne specijalne karaktere koji obično imaju posebno značenje u regex-u, morate ih escape-ovati sa obrnutom kosom crtom. Na primer, da biste podudarili literalnu tačku, koristite \. umesto samo ..

Koja je razlika između .* i .*? u regex obrascu?

.* je pohlepni kvantifikator koji podudara se sa što više karaktera, dok .*? je lenji (ne-pohlepan) kvantifikator koji podudara se sa što manje karaktera. Ova razlika je važna kada želite da pronađete najkraće podudaranje umesto najdužeg.

Mogu li koristiti ovaj tester regex-a za obrasce u bilo kojem programskom jeziku?

Iako je osnovna sintaksa regex-a slična u mnogim jezicima, postoje suptilne razlike u implementaciji. Naš tester koristi JavaScript-ov regex engine, koji je kompatibilan sa mnogim web jezicima, ali može imati razlike od regex-a u jezicima kao što su Python, Java ili Perl.

Kako da validiram ceo string sa regex-om?

Da biste validirali da ceo string odgovara obrascu, koristite sidro ^ na početku i sidro $ na kraju vašeg regex-a. Na primer, ^[0-9]+$ će se podudarati samo sa stringovima koji se sastoje isključivo od cifara.

Šta su grupe za hvatanje i kako ih koristiti?

Grupe za hvatanje, koje se kreiraju zagradama (), omogućavaju vam da izdvojite specifične delove podudaranog teksta. U našem testeru možete videti sve podudarnosti, uključujući uhvaćene grupe. U programskim jezicima obično možete pristupiti ovim hvatanjima indeksiranjem rezultata podudaranja.

Kako mogu učiniti svoje regex obrasce efikasnijim?

Da poboljšate efikasnost regex-a: budite specifični sa karakter klasama, izbegavajte nepotrebne grupe za hvatanje (koristite ne-hvatajuće grupe (?:...) kada je to moguće), ograničite upotrebu lookahead-a/lookbehind-a, i izbegavajte katastrofalne povratne obrasce poput ugnježdenih kvantifikatora.

Koje su najčešće greške u regex-u koje treba izbegavati?

Uobičajene greške uključuju: ne escape-ovanje specijalnih karaktera, kreiranje obrazaca koji su previše pohlepni, zaboravljanje da se sidraju obrasci (sa ^ i $), i pisanje previše složenih izraza koji su teški za održavanje.

Može li regex obraditi ugnježdene strukture kao što je HTML?

Regularni izrazi nisu dobro prilagođeni za parsiranje ugnježdenih struktura kao što su HTML ili XML. Iako možete kreirati regex obrasce za jednostavno prepoznavanje HTML-a, obično je bolje koristiti posvećen HTML analizator za složenu obradu HTML-a.

Reference

  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. "Regular expression." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
  4. MDN Web Docs. "Regular Expressions." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Learn, Build, & Test RegEx. https://regexr.com/

Isprobajte naš tester obrazaca regex danas kako biste pojednostavili svoje zadatke obrade teksta, validirali formate unosa i izdvojili značajne podatke iz nestrukturiranog teksta. Bilo da ste početnik koji uči osnove regularnih izraza ili iskusni programer koji radi na složenim prepoznavanjima obrazaca, naš alat pruža funkcije koje su vam potrebne za efikasno kreiranje, testiranje i usavršavanje vaših regex obrazaca.

Повратне информације