*** REŠENJA ZADATAKA - Uvod u rešavanje zadataka sa regularnim izrazima ***
U nastavku su rešeni zadaci koji su prethodno postavljeni, uz detaljna objašnjenja kako i zašto regularni izraz funkcioniše.
Zadatak 1: Pronalaženje svih brojeva u tekstu
Tekst:
\d+🔍 Objašnjenje:
\doznačava bilo koju cifru (0-9).+označava da se traži jedna ili više cifara u nizu.- Ovaj izraz prepoznaje sve grupe brojeva u tekstu (
29,01,2025,15,7,12).
Ovim izrazom pronalazimo sve brojčane podatke u tekstu, bez obzira na to da li su deo datuma, adrese ili temperature.
Zadatak 2: Pronalaženje svih reči koje počinju velikim slovom
Tekst:
\b[A-Z][a-z]+\b🔍 Objašnjenje:
\boznačava granicu reči (početak ili kraj).[A-Z]osigurava da se prva slova reči kreću u opsegu odAdoZ, što znači da je prvo slovo veliko.[a-z]+označava da nakon prvog velikog slova mora uslediti bar jedno malo slovo.
✅ Pronađene reči: Petar, Milica, Beograd, Njihov, Roki, Dunav
Ovim izrazom ignorišemo reči koje počinju malim slovom (npr. i, su, u) i dobijamo samo imena i vlastite imenice.
Zadatak 3: Pronalaženje e-mail adresa u tekstu
Tekst:
Nevažeći mejlovi su: info@firma, admin@@sajt.com
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b 🔍 Objašnjenje:
[A-Za-z0-9._%+-]+prepoznaje korisničko ime u e-mail adresi (može sadržati slova, brojeve i specijalne znakove._%+-).@označava obavezni znak "@" koji razdvaja korisničko ime od domena.[A-Za-z0-9.-]+prepoznaje naziv domena (npr.firma,mojsajt).\.traži tačku koja odvaja domen od ekstenzije.[A-Za-z]{2,}označava ekstenziju domena (npr.com,net,org,rs).
✅ Pronađene e-mail adrese: podrska@firma.com, pomoc@mojsajt.net
❌ Nevalidni mejlovi: info@firma (nema ekstenziju), admin@@sajt.com (dva @).
-------------------------------
Kraća varijanta (❗i ne tako dobra❗)
Regularni izraz: [^@\s]+@[^@\s]+\.[^@\s]+
Objašnjenje:
[^@\s]+prepoznaje korisničko ime u e-mail adresi (bilo šta što nije@ili razmak, i može biti koliko god takvih znakova)@označava obavezni znak "@" koji razdvaja korisničko ime od domena.[^@\s]+prepoznaje naziv domena (bilo šta što nije@ili razmak, i može biti koliko god takvih znakova).\.traži tačku koja odvaja domen od ekstenzije.[^@\s]+označava ekstenziju domena (bilo šta što nije@ili razmak, i može biti koliko god takvih znakova).
Pronađene e-mail adrese: podrska@firma.com, pomoc@mojsajt.net
Nevalidni mejlovi: info@firma (nema ekstenziju), admin@@sajt.com (dva @).
❗ - Ovo nije najbolje rešenje, jer će pronaći i da je 1@2.3 validan email ❗
Zadatak 4: Pronalaženje brojeva telefona u različitim formatima
Tekst:
\+?\d{1,3}[-\/\s]?\(?\d{2,3}\)?[-\/\s]?\d{3}[-\/\s]?\d{3,4}🔍 Objašnjenje:
\+?označava da znak+može biti prisutan, ali nije obavezan.\d{1,3}prepoznaje međunarodni kod (npr.381).[-\/\s]?dozvoljava razne razdelnike (-,/, razmak).\(?\d{2,3}\)?prepoznaje kod grada (može biti u zagradama, npr.(021)).\d{3}[-\/\s]?\d{3,4}prepoznaje ostatak broja (npr.234-5678).
✅ Pronađeni brojevi: +381-63-123-4567, 011/234-5678, (021) 345-678
Zadatak 5: Pronalaženje svih reči kraćih od 5 slova
Tekst:
\b\w{1,4}\b🔍 Objašnjenje:
\boznačava granicu reči.\w{1,4}prepoznaje reči koje imaju od 1 do 4 slova.\bponovo označava kraj reči.
✅ Pronađene reči: Ovaj, pas, voli, da, i, po
Zaključak
Regularni izrazi su moćan alat za pretragu i analizu teksta. Ključ uspeha u radu sa regex-om je razumevanje osnovnih elemenata:
\dza cifre,\wza slova i brojeve,.za bilo koji karakter.+,*,{min,max}za ponavljanja.^i$za početak i kraj reda.\bza granicu reči.- Grupa
[...]za definisanje skupa dozvoljenih znakova.
Ovi zadaci su samo početak – preporučuje se dalje eksperimentisanje i rad sa regex alatima kako bi se stekla intuitivna upotreba ovih izraza u realnim situacijama. 🚀