Autor | Zpráva | ||
---|---|---|---|
ph@tE Profil * |
#1 · Zasláno: 13. 2. 2008, 23:01:37
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 |
#2 · Zasláno: 13. 2. 2008, 23:15:03
\.php$ a do podmínky dát negaci :-)
|
||
ph@tE Profil * |
#3 · Zasláno: 13. 2. 2008, 23:28:04
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 |
#4 · Zasláno: 14. 2. 2008, 11:33:36
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 * |
#5 · Zasláno: 14. 2. 2008, 18:07:32
RaDim
Tak to povzbudí:-) No pokud to někdo ví, přihlašte se prosím. |
||
ph@tE Profil * |
#6 · Zasláno: 14. 2. 2008, 18:22:55
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 * |
#7 · Zasláno: 14. 2. 2008, 18:23:35
Tedy záporné tvrzení o předcházejícím, už blbnu.
|
||
RaDim Profil |
#8 · Zasláno: 15. 2. 2008, 01:50:50
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).
|
||
Časová prodleva: 16 let
|
0