(Perl-compatible) regulární výraz v PHP

(Perl-compatible) regulární výraz v PHP
« kdy: 11. 11. 2010, 12:47:35 »
Ahojte, potrebuji udelat regularni vyraz, ktery bude vypadat nejak takto:
Kód: [Vybrat]
$pattern = '/[^ ]ahoj[ $]/';coz by melo znamenat, ze retezec musi vypadat nasledovne:
Kód: [Vybrat]
bud je retezec 'ahoj' na zacatku retezce, nebo je uvozen mezerou
a bud je za retezcem 'ahoj' mezera, nebo je na konci retezce
a to samozrejme nefunguje, protoze [^ ] rika: "vsechno, krome mezery" a navic se to takhle pravdepodobne nedela. Poradte mi, prosim, jak ten vyraz napsat. Dekuji
« Poslední změna: 11. 11. 2010, 14:13:51 od Petr Krčmář »


Re: (Perl-compatible) regularni vyraz v PHP
« Odpověď #1 kdy: 11. 11. 2010, 13:05:22 »
A co takhle:
Kód: [Vybrat]
$pattern = '/\bahoj\b/';

wamba

Re: (Perl-compatible) regularni vyraz v PHP
« Odpověď #2 kdy: 11. 11. 2010, 13:27:59 »
kupodivu tohle funguje :)
Kód: [Vybrat]
/(^| )ahoj( |$)/

deadmail

Re: (Perl-compatible) regulární výraz v PHP
« Odpověď #3 kdy: 11. 11. 2010, 15:48:32 »
Kód: [Vybrat]
[^ ] totiz neznamena "zaciatok riadku alebo medzera", ALE "lubovolny 1 znak okrem medzery"