Autor Zpráva
ph@tE
Profil *
Zdravím,

potřebuji vytvořit regulární výraz, který projde, když testovaný řetězec nekončí řeězcem .php. Tj. např. "domena.cz" a "domena.php.js" projde, ale "domena.php" neprojde.

Díky.
Joker
Profil
\.php$ a do podmínky dát negaci :-)
ph@tE
Profil *
To se snadno řekne do podmínky dát negaci, já to ale potřebuju v mod_alias a nepodařilo se mi najít, že by v mod_alias byly podmínky jako v mod_rewrite (RewriteCond).

Zkoušel jsem (?!\.php)$, to ale nefunguje (testováno na http://www.regexp.cz/).
RaDim
Profil
O podobnou věc se snažím už 3 dny a nikde jsem to nenašel a na žádný diskuzi mi to nikdo neřek.
ph@tE
Profil *
RaDim
Tak to povzbudí:-)
No pokud to někdo ví, přihlašte se prosím.
ph@tE
Profil *
Tak jsem na to snad přišel:
^(.+)(?<!php)$

Konstrukce (?<!) je kladné tcrzení o předcházejícím, byl jsem na dobré cestě, jen jsem to špatně pochopil z manuálu.
ph@tE
Profil *
Tedy záporné tvrzení o předcházejícím, už blbnu.
RaDim
Profil
A věděl by někdo, jak rozložit řetězec tak, aby v první části byl text kterej neobsahuje určitý slovo, pak to slovo a pak zbytek řetězce hned za tím slovem? Samozřejmě v té poslední části se to slovo vyskytovat může. Jenom v té první ne. Dělal jsem to asi takto ^(.*)(slovo)(.*)$, jenomže to mělo trochu opačnej význam, totiž že to slovo se nevyskytuje v tom posledním, ale v tom prvním klidně jo. Na ten první by to chtělo dát nějakou negaci. Tuším že jsem zkoušel něco ve smyslu ^(.*)(?<!slovo)(slovo)(.*)$, ale moc mi to nefungovalo (tím posledním regulárním výrazem si nejsem jistej - píšu to jenom tak od oka).

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0