Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Regular expression Replace

[es] :: .NET :: Regular expression Replace

[ Pregleda: 2094 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
82.117.202.*



+171 Profil

icon Regular expression Replace16.04.2008. u 10:33 - pre 195 meseci
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.




 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Regular expression Replace16.04.2008. u 10:58 - pre 195 meseci
Treba ti nesto szto se zove: Zero-width negative lookbehind assertion (?<!expression)



Znaci regex koji trazis je

(?<!\$)\$\w+

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ć
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
...vl-edge-dnevnik.neobee.net.



+171 Profil

icon Re: Regular expression Replace16.04.2008. u 11:07 - pre 195 meseci
Svaka cast, to je to. Mislim da "lookbehind" dovoljno govori.

Hvala.
 
Odgovor na temu

[es] :: .NET :: Regular expression Replace

[ Pregleda: 2094 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.