Tester za regex obrasce
Rezultati podudaranja
Unesite obrazac i test tekst da vidite rezultate
Sačuvaj obrazac
Rezultati podudaranja
Unesite obrazac i test tekst da vidite rezultate
Sačuvani obrasci
Nema sačuvanih obrazaca još
Vodič za regex simbole
.
Podudara se sa bilo kojim karakterom osim novog reda\d
Podudara se sa bilo kojom cifrom (0-9)\D
Podudara se sa bilo kojom ne-cifrom\w
Podudara se sa bilo kojim rečnim karakterom (a-z, A-Z, 0-9, _)\W
Podudara se sa bilo kojim ne-rečnim karakterom\s
Podudara se sa bilo kojim praznim mestom\S
Podudara 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 podudaranjea|b
Podudara se ili sa a ili sa b\b
Podudara se sa pozicijom granice rečiTester 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:
-
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.
-
Izaberite regex zastavice: Odaberite odgovarajuće zastavice za vaš obrazac:
g
(Globalno): Pronađi sve podudarnosti umesto da stane nakon prve podudarnostii
(Bez obzira na velika i mala slova): Učini obrazac neosetljivim na velika i mala slovam
(Višelinijski): Učini da^
i$
odgovaraju početku/kraju svake linije- Različite kombinacije ovih zastavica su dostupne u padajućem meniju
-
Unesite test tekst: Upišite tekst koji želite da testirate u odnosu na vaš obrazac u oblasti za testiranje teksta.
-
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
-
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"
-
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
Simbol | Opis | Primer | Podudaranja |
---|---|---|---|
. | Podudara se sa bilo kojim karakterom osim novog reda | a.c | "abc", "adc", "a1c", itd. |
\d | Podudara se sa bilo kojim cifrom (0-9) | \d{3} | "123", "456", "789", itd. |
\D | Podudara se sa bilo kojim ne-cifrom | \D+ | "abc", "xyz", itd. |
\w | Podudara se sa bilo kojim rečnim karakterom (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123", itd. |
\W | Podudara se sa bilo kojim ne-rečnim karakterom | \W+ | "!@#", " + ", itd. |
\s | Podudara se sa bilo kojim belim karakterom | a\sb | "a b", "a\tb", itd. |
\S | Podudara se sa bilo kojim ne-belim karakterom | \S+ | "abc", "123", itd. |
Pozicioni sidri
Simbol | Opis | Primer | Podudaranja |
---|---|---|---|
^ | Podudara se sa početkom linije | ^abc | "abc" na početku linije |
$ | Podudara se sa krajem linije | abc$ | "abc" na kraju linije |
\b | Podudara se sa granicom reči | \bword\b | "word" kao cela reč |
Kvantifikatori
Simbol | Opis | Primer | Podudaranja |
---|---|---|---|
* | Podudara se sa 0 ili više prethodnog karaktera | a*b | "b", "ab", "aab", itd. |
+ | Podudara se sa 1 ili više prethodnog karaktera | a+b | "ab", "aab", "aaab", itd. |
? | Podudara se sa 0 ili 1 prethodnog karaktera | colou?r | "color", "colour" |
{n} | Podudara se sa tačno n prethodnog karaktera | a{3} | "aaa" |
{n,} | Podudara se sa najmanje n prethodnog karaktera | a{2,} | "aa", "aaa", "aaaa", itd. |
{n,m} | Podudara se sa između n i m prethodnog karaktera | a{2,4} | "aa", "aaa", "aaaa" |
Karakter klase
Simbol | Opis | Primer | Podudaranja |
---|---|---|---|
[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
Simbol | Opis | Primer | Podudaranja |
---|---|---|---|
(abc) | Grupira više tokena zajedno i hvata podudaranje | (abc)+ | "abc", "abcabc", itd. |
a|b | Podudara se ili sa a ili b | cat|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
-
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 \.-]*)*\/?$
- Email adrese:
-
Parsiranje HTML-a: Izdvojite specifične elemente ili atribute:
- Pronađite sve slike:
<img[^>]+src="([^">]+)"
- Izdvojite linkove:
<a[^>]+href="([^">]+)"
- Pronađite sve slike:
Obrada podataka
-
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: .*
- IP adrese:
-
Parsiranje CSV-a: Obradite vrednosti odvojene zarezima sa potencijalnim citiranim poljima:
- Matcher za CSV polja:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- Matcher za CSV polja:
Obrada teksta
-
Pronađi i zameni: Identifikujte obrasce za zamenu:
- Uklonite HTML tagove:
<[^>]*>
- Formatirajte brojeve telefona:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- Uklonite HTML tagove:
-
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})?
- Izdvojite datume:
Programiranje i kodiranje
-
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*\(
- JavaScript promenljive:
-
Refaktorisanje koda: Pronađite obrasce koji trebaju ažuriranje:
- Zastarjeli API pozivi:
\.oldMethod\(
- Nesigurne funkcije:
eval\(
- Zastarjeli API pozivi:
Č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 podstringovaString.startsWith()
iString.endsWith()
za proveru granica stringaString.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
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Regular expression." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regular Expressions." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- 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.