Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.631 pregleda

Najnovija ↓

Regular expression Replace 16.04.2008. u 11:33 · pre 225 meseci #1
Evo interesantan problem, ne znam dovoljno regex pa me interesuje da li je ovo izvodljivo preko regex-a.

Situacija je sledeca:

U zadatom stringu imam odredjene stringove koji predstavljaju neku vrstu promenljivih koje program kasnije treba da zameni. Da bi promenljivu prepoznali uveli smo rezervisani/meta karakter. U nasem slucaju to j e $ (dolar).

prim.

Code:

string s = "There can be only $one";


U ovom slucaju regex bi trebao da matchuje $one i da zameni sa nekom vrednosti. Naravno ovo nije problem, nego problem nastaje kada postoji vise $ znakova.

prim.

Code:

string s = "There can be only $$one or $two";


U ovom slucaju bi trebalo samo $two da se match-uje i zameni. Znaci trebalo bi nekako reci regex-u da gleda sva poklapanja koja imaju nesto kao \$[\w]+ ali da prethodni znak pre match-a ne pocnije sa $. Problem je sto ako bi napisao nesto kao [^\$]\$[\w]+, onda ce se dobiti dobar match (sem ako je $nesto na samom pocetku stringa) ali nece se dobro zameniti.




Re: Regular expression Replace 16.04.2008. u 11:58 · pre 225 meseci #2
Treba ti nesto szto se zove: Zero-width negative lookbehind assertion (?<!expression)



Znaci regex koji trazis je

(?<!\$)\$\w+
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Regular expression Replace 16.04.2008. u 12:07 · pre 225 meseci #3
Svaka cast, to je to. Mislim da "lookbehind" dovoljno govori.

Hvala.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme