Tester uzoraka regexa
Rezultati podudaranja
Unesite uzorak i testni tekst kako biste vidjeli rezultate
Spremi uzorak
Rezultati podudaranja
Unesite uzorak i testni tekst kako biste vidjeli rezultate
Spremeni uzorci
Nema spremljenih uzoraka još
Vodič za simbole regexa
.
Podudara se s bilo kojim znakom osim novog reda\d
Podudara se s bilo kojom brojkom (0-9)\D
Podudara se s bilo kojom ne-brojkom\w
Podudara se s bilo kojim znakom riječi (a-z, A-Z, 0-9, _)\W
Podudara se s bilo kojim ne-znakom riječi\s
Podudara se s bilo kojim znakom razmaka\S
Podudara se s bilo kojim ne-znakom razmaka^
Podudara se s početkom retka$
Podudara se s krajem retka*
Podudara se s 0 ili više prethodnog znaka+
Podudara se s 1 ili više prethodnog znaka?
Podudara se s 0 ili 1 prethodnog znaka{n}
Podudara se s točno n prethodnog znaka{n,}
Podudara se s najmanje n prethodnog znaka{n,m}
Podudara se s između n i m prethodnog znaka[abc]
Podudara se s bilo kojim od znakova u zagradama[^abc]
Podudara se s bilo kojim znakom koji nije u zagradama(abc)
Grupira više tokena zajedno i hvata podudaranjea|b
Podudara se ili s a ili s b\b
Podudara se s pozicijom granice riječiTester i Validator RegEx Uzoraka
Uvod
Tester uzoraka regularnih izraza (regex) je neophodan alat za programere, analitičare podataka i sve one koji rade sa obradom teksta. Ovaj sveobuhvatni validator uzoraka regex omogućava vam da kreirate, testirate i usavršavate regularne izraze u realnom vremenu, pružajući trenutnu vizualnu povratnu informaciju o podudaranju uzoraka. Bilo da validirate email adrese, parsirate log datoteke 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 savladati. Ovaj tester uzoraka regex pojednostavljuje proces isticanjem podudaranja dok kucate, validirajući sintaksu uzorka i omogućavajući vam da sačuvate često korišćene uzorke za buduću referencu.
Kako koristiti Tester uzoraka Regex
Korišćenje našeg validatora uzoraka regex je jednostavno i intuitivno. Pratite ove korake da biste počeli:
-
Unesite uzorak regularnog izraza: Upisite svoj regex uzorak u predviđeno polje za unos. Alat validira vaš uzorak u realnom vremenu, obaveštavajući vas o svim sintaktičkim greškama.
-
Odaberite regex zastavice: Izaberite odgovarajuće zastavice za vaš uzorak:
g
(Globalno): Pronađite sve podudarnosti umesto da stanete nakon prve podudarnostii
(Bez obzira na velika i mala slova): Učinite uzorak neosetljivim na velika i mala slovam
(Višelinijski): Učinite da^
i$
odgovaraju početku/kraju svake linije- Različite kombinacije ovih zastavica su dostupne u padajućem meniju
-
Unesite testni tekst: Unesite tekst koji želite da testirate u odnosu na vaš uzorak u području za testiranje teksta.
-
Pogledajte rezultate u realnom vremenu: Dok kucate, alat automatski:
- Ističe sve podudarnosti uzorka u testnom tekstu
- Prikazuje ukupan broj pronađenih podudarnosti
- Ukazuje na to da li uzorak odgovara celom tekstu
-
Sačuvajte korisne uzorke: Za uzorke koje često koristite:
- Unesite opisnu oznaku za vaš uzorak
- Kliknite na dugme "Sačuvaj"
- Pristupite sačuvanim uzorcima iz odeljka "Sačuvani uzorci"
-
Kopirajte rezultate: Koristite dugme "Kopiraj podudarnosti" da biste kopirali sav istaknuti tekst u vaš međuspremnik za korišćenje u drugim aplikacijama.
Interfejs je podeljen na dva glavna panela: panel za unos gde unosite svoj uzorak i testni tekst, i panel sa rezultatima koji prikazuje podudarnosti i informacije o uzorku.
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. |
Pozicijski sidra
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 tačno sa n prethodnog karaktera | a{3} | "aaa" |
{n,} | Podudara se sa najmanje n prethodnog karaktera | a{2,} | "aa", "aaa", "aaaa", itd. |
{n,m} | Podudara se između n i m prethodnog karaktera | a{2,4} | "aa", "aaa", "aaaa" |
Karakterne 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 sa b | cat|dog | "cat", "dog" |
Napredni uzorci regex-a
Kada savladate osnove, možete kreirati sofisticiranije uzorke za rešavanje složenih izazova obrade teksta:
Validacija email-a
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Ovaj uzorak validira email adrese osiguravajući da prate standardni format: korisničko_ime@domena.tld.
Validacija URL-a
^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
Ovaj uzorak 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 uzorak podudara se sa američkim brojevima telefona u različitim 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 uzorak validira datume u formatu YYYY-MM-DD, sa osnovnom validacijom za opsege meseca i dana.
Lookahead i Lookbehind
Lookahead i lookbehind asercije omogućavaju vam da podudarate uzorke samo ako su praćeni ili prethodeni drugim uzorkom:
- Pozitivan lookahead:
a(?=b)
podudara se sa "a" samo ako ga sledi "b" - Negativan lookahead:
a(?!b)
podudara se sa "a" samo ako ga ne sledi "b" - Pozitivan lookbehind:
(?<=a)b
podudara se sa "b" samo ako ga prethodi "a" - Negativan lookbehind:
(?<!a)b
podudara se sa "b" samo ako ga ne prethodi "a"
Rad sa regex zastavicama
Naš tester regex-a podržava različite zastavice koje modifikuju način na koji se uzorci podudaraju:
- g (Globalno): Pronađite sve podudarnosti umesto da stanete nakon prve podudarnosti
- i (Bez obzira na velika i mala slova): Učinite uzorak neosetljivim na velika i mala slova
- m (Višelinijski): Učinite da
^
i$
odgovaraju početku/kraju svake linije - Kombinacije: Možete kombinovati zastavice za složenije zahteve podudaranja
Upotrebe za testiranje uzoraka regex
Regularni izrazi imaju brojne praktične primene u različitim oblastima:
Web razvoj
-
Validacija formi: Osigurajte da korisnički unosi 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:
-
HTML parsiranje: Izdvojite specifične elemente ili atribute:
- Pronađite sve slike:
<img[^>]+src="([^">]+)"
- Izdvojite linkove:
<a[^>]+href="([^">]+)"
- Pronađite sve slike:
Obrada podataka
-
Analiza log datoteka: Izdvojite informacije iz log zapisa:
- 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 o greškama:
ERROR: .*
- IP adrese:
-
CSV parsiranje: Obradite vrednosti razdvojene zarezima sa potencijalnim citiranim poljima:
- CSV matcher za polja:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- CSV matcher za polja:
Obrada teksta
-
Pronađi i zameni: Identifikujte uzorke za zamenu:
- Uklonite HTML oznake:
<[^>]*>
- Formatirajte brojeve telefona:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- Uklonite HTML oznake:
-
Izdvajanje sadržaja: Izdvojite 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 jezičke konstrukcije:
- 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 uzorke koji treba ažurirati:
- Zastarele API pozive:
\.oldMethod\(
- Nesigurne funkcije:
eval\(
- Zastarele API pozive:
Čuvanje i upravljanje uzorcima
Naš tester uzoraka regex uključuje sistem upravljanja uzorcima koji vam omogućava da sačuvate i ponovo koristite svoje često korišćene izraze:
Kada sačuvati uzorke
Razmotrite čuvanje uzoraka koji:
- Često koristite u različitim projektima
- Su složeni i teški za pamćenje
- Služe specifičnim svrha validacije u vašem radu
- Ste usavršili nakon više iteracija
Najbolje prakse za oznake uzoraka
Kada sačuvate uzorke, koristite opisne oznake koje:
- Ukazuju na svrhu uzorka (npr. "Validator email-a")
- Pominju specifične formate (npr. "Američki broj telefona")
- Uključuju informacije o verziji ako iterirate na uzorcima (npr. "Validator URL-a v2")
- Su sažete ali informativne
Organizacija uzoraka
Organizujte svoje sačuvane uzorke po:
- Funkciji (validacija, izdvajanje, zamena)
- Oblasti (web razvoj, obrada podataka)
- Složenosti (osnovni, napredni)
- Učestalosti korišćenja
Deljenje uzoraka
Iako naš alat ne podržava direktno deljenje uzoraka između korisnika, možete:
- Kopirati uzorke da biste ih delili sa kolegama
- Dokumentovati svoje uzorke u zajedničkom repozitorijumu
- Uključiti opise uzoraka 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š uzorak prikazuje grešku validacije:
- Proverite da li su zagrade, uglaste ili vitičaste, usklađene
- Osigurajte da su posebni karakteri pravilno escape-ovani sa obrnutim kosim crticama
- Verifikujte da kvantifikatori imaju prethodni karakter ili grupu
- Potražite nevalidnu sintaksu karakterne klase
Problemi sa performansama
Ako vaš regex sporo radi ili uzrokuje zastoje u pretraživaču:
- Izbegavajte prekomernu upotrebu ugnježdenih kvantifikatora (npr.
(a+)+
) - Budite oprezni sa lookahead i lookbehind u velikim tekstovima
- Razmislite o korišćenju specifičnijih uzoraka umesto širokih
- Razbijte složene uzorke na manje, upravljive delove
Neočekivana podudaranja
Ako vaš uzorak podudara sa neželjenim tekstom:
- Koristite sidra (
^
i$
) da biste podudarali cele stringove - Učinite karakterne klase specifičnijim
- Dodajte granice reči (
\b
) gde je to prikladno - Koristite negativne lookaheads da isključite određene uzorke
Nema pronađenih podudaranja
Ako vaš uzorak ne podudara sa očekivanim tekstom:
- Proverite probleme sa osetljivošću na velika i mala slova (razmislite o korišćenju
i
zastavice) - Verifikujte da su posebni karakteri pravilno escape-ovani
- Testirajte svoj uzorak na pojednostavljenim primerima prvo
- Osigurajte da koristite ispravne karakterne klase
Alternativa regularnim izrazima
Iako je regex moćan, nije uvek najbolje rešenje za svaku obradnu zadatak:
Metode stringa
Za jednostavne tekstualne operacije, nativne metode stringa su često jasnije i efikasnije:
String.indexOf()
za pronalaženje podstringovaString.startsWith()
iString.endsWith()
za proveru granica stringaString.split()
za osnovnu tokenizaciju
Specijalizovani parseri
Za strukturirane formate podataka, posvećeni parseri su robusniji:
- JSON parseri za JSON podatke
- XML/HTML parseri za markup jezike
- CSV parseri 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 regex-u kada:
- Struktura teksta je veoma redovna i jednostavna
- Format ima standardizovani parser dostupno
- 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 uzoraka regex?
Tester uzoraka regex pomaže vam da razvijate i otklanjate greške u regularnim izrazima pružajući trenutnu vizualnu povratnu informaciju o podudaranjima, validirajući sintaksu uzorka i omogućavajući vam da eksperimentišete sa različitim uzorcima i zastavicama bez potrebe da ih prvo implementirate u kodu.
Kako da podudarim doslovni specijalni karakter kao što je tačka ili zvezdica?
Da biste podudarili doslovne specijalne karaktere koji obično imaju posebno značenje u regex-u, morate ih escape-ovati obrnutom kosom crticom. Na primer, da biste podudarili doslovnu tačku, koristite \.
umesto samo .
.
Koja je razlika između .*
i .*?
u regex uzorku?
.*
je pohlepni kvantifikator koji podudara sa što više karaktera, dok .*?
je lenji (nepohlepni) kvantifikator koji podudara sa što manje karaktera. Ova razlika je važna kada želite pronaći najkraće podudaranje umesto najdužeg.
Mogu li koristiti ovaj tester regex-a za uzorke 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 uzorku, 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 sastoji isključivo od cifara.
Šta su grupe za hvatanje i kako ih koristiti?
Grupe za hvatanje, koje se kreiraju sa 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 uzorke efikasnijim?
Da biste poboljšali efikasnost regex-a: budite specifični sa karakternim klasama, izbegavajte nepotrebne grupe za hvatanje (koristite ne-hvatajuće grupe (?:...)
kada je to moguće), ograničite upotrebu lookahead/lookbehind, i izbegavajte katastrofalne uzorke povratnog praćenja poput ugnježdenih kvantifikatora.
Koje su najčešće greške u regex-u koje treba izbegavati?
Uobičajene greške uključuju: neescape-ovanje specijalnih karaktera, kreiranje uzoraka koji su previše pohlepni, zaboravljanje da se uzorci sidre (sa ^
i $
), i pisanje previše složenih izraza koji su teški za održavanje.
Može li regex obraditi ugnježdene strukture poput HTML-a?
Regularni izrazi nisu dobro prilagođeni za parsiranje ugnježdenih struktura poput HTML-a ili XML-a. Iako možete kreirati regex uzorke za jednostavno HTML podudaranje, obično je bolje koristiti posvećen HTML parser 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 uzoraka regex-a 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ženom prepoznavanju obrazaca, naš alat pruža funkcije koje su vam potrebne za efikasno kreiranje, testiranje i usavršavanje vaših regex uzoraka.