Poslao: 19 Okt 2004 20:25
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Imam string
"win98 i win 98 i windows"
treba mi regexp koji ce da nadje 'win' ako u nastavku nije 'dows'
znaci, da nadje 'win98' i 'win 98', ali ne i 'windows'
jedino sto sam uspeo je
Win[^d]
Mogu da negiram jedno slovo (d), ali nikako da uspem da negiram string ("dows")
Neko resenje?
p.s. nemojte samo da mi dajete perl regexp, posto bih voleo iskljucivo regexp...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 20 Okt 2004 11:41
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
a ima li sanse da to bude regexp, a ne perlregexp ?
|
|
|
|
Poslao: 20 Okt 2004 12:52
|
offline
- mire
- Elitni građanin
- Pridružio: 18 Apr 2003
- Poruke: 2282
- Gde živiš: Beograd
|
kazem ti, daj mi kod da vidim sta se tu radi
mrzi me da se ovako cimam
|
|
|
|
Poslao: 20 Okt 2004 13:06
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
pa kakav kod pobogu, nema tu koda, to je jedna linija, treba samo regexp da se formulise.
<?
$agent=eregi_replace ("win([^d])", "windows\\1", $agent);
?>
treba mi regexp koji ce da nadje 'win' ako u nastavku nije 'dows'
znaci, da nadje 'win98' i 'win 98', ali ne i 'windows'
i po mogucstvu da ne bude perl regexp
|
|
|
|
Poslao: 20 Okt 2004 14:21
|
offline
- mire
- Elitni građanin
- Pridružio: 18 Apr 2003
- Poruke: 2282
- Gde živiš: Beograd
|
evo ovako bez provere
if (!preg_match('/windows/', $agent)):
$agent=eregi_replace ("win\s?(\d+)", "windows\\1", $agent);
endif;
btw ako ti ne bude radi ereg_replace samo uradi verziju sa preg_replace
\s? matchuje jedan ili nijedan space
a u zagradi hvatash jedan ili vishe brojeva
|
|
|
|