REGULAR EXPRESSIONS

Regular expressions su izrazi koji sluze utvrdjivanju da li neki string sadrzi odredjene karaktere ili sledi neka pravila.

Najvise se koristi pri proveri unosa od strane korisnika programa ili web stranice. Primeri su:

  • proveri da li email adresa uneta od strane korisnika ima znak @
  • proveri da li broj karaktera u unosu JMBG-a ima 13 karaktera
  • da li uneta web adresa sadrzi bar jednu tacku u nizu
  • itd…

 

Postoje dva dela. Prvi je kreiranje samog regular expression uslova a drugi njegova primena na odredjeni element.

Regular expressions su ustvari Java Script objekat kao sto su Array,itd. i ima svoja svojstva i metode. Kreira se kao promenljiva, na primer

var mojaRE = /zdravo/;

 

mada postoji i duzi nacin:

 

var mojaRE = new RegExp(“zdravo”);

 

Mi cemo koristiti prvu. Ovo je prvi deo gde kreiramo sablon cije postojanje ispitujemo. Dalje, imamo promenljivu koja glasi:

 

var recenica = ‘Uvek gledam da se hranim zdravo’;

 

Ukoliko zelimo da proverimo da li u promenljivoj recenica postoji sablon “zdravo”, to cemo napisati kao:

 

if (mojaRE.test(recenica)){

alert(‘’Postoji zdravo u okviru recenice!’);

}else{

alert(‘Nazalost, rec zdravo ne postoji u okviru date recenice!’);

}

 

Ovde je kljucna rec test koja ustvari proverava da li string mojeRE postoji u promenljivoj recenica i predstavlja metodu objekta RegExp.

Prethodni primer predstavlja jednostavno koncipiranu RE. Postoje posebni znaci koji se koriste u kreiranju RE. Na primer:

 

/^zdravo/; znaci da se rec zdravo mora nalaziti na pocetku niza karaktera

/zdravo$/; znaci da se rec zdravo mora nalaziti na kraju niza karaktera

/zdrav+o/; znaci da se slovo v mora nalaziti bar jednom ili vise puta u reci zdravo. Konkretno, to znaci da bi reci zdravo,zdravvo,zdravvvvo sve odgovarale uslovu, tj. bile validne i posmatrane kao istinite

/zdrav*o/; znaci da se slovo v moze nalaziti nula, jedan ili vise puta u reci . Konkretno, to znaci da bi reci zdrao,zdravo,zdravvo,zdravvvvo sve odgovarale uslovu, tj. bile validne i posmatrane kao istinite

/zdrav?o/; znaci da se slovo v moze nalaziti nula puta ili jednom u reci . Konkretno, to znaci da bi samo reci zdrao i zdravo odgovarale uslovu, tj. bile validne i posmatrane kao istinite

 

/zdravo|dovidjenja/ ovde je validno ako u tekstu postoji zdravo ili dovidjenja kao string

 

/zdr..o/ dve tacke znace da su dozvoljena bilo koja dva karaktera izmedju zdr i o

 

/\wdravo/ – \w znaci da moze biti bilo koji alfanumericki karakter ili donja crta _

/\bzdravo/ – \b znaci da ispred reci zdravo mora da bude ili prazno polje (space) ili da pocinje na novoj liniji

/[mbk]oja/ – [mbk] znaci da ispred oja moze da stoji ili m ili b ili k pa bi reci moja, boja ili koja bile validne

 

Kao sto vidite u prethodnim primerima, koristiti RegExp nije bas jednostavno iz prostog razloga sto ima puno sintakse koju treba savladati. Jedino sto je bitno je da znate kako se definisu i kako proveravaju. Sintaksu ionako mozete naci na webu i nije nesto sto treba znati napamet.

Preporučite ovaj članak:
Email this to someoneShare on Google+Share on FacebookShare on LinkedIn