Autor Zpráva
Snek
Profil *
Zdravím,
nemohu dát dokupy regulérní výraz, který by řekl , aby se nezadávaly znaky velká písmena + diakritika + mezera + byly povolene jen znaky _ - . a malé pismenka a číslice (podtržítko, minus, tečka).

Jsem zoufalý protože mi nějde ani zakázat velká písmena, natož ten zbytek :( Vůbec tomu nerozumim i když koukam sem http://www.regexp.cz/ nic :( jsem dutý ...

pomůže mi nějáká dobrá duše?


Moderátor Joker: Upravil jsem titulek. Původní titulek: „Regulerni vyraz pro LOGIN :/“
__construct
Profil
^([a-z0-9\.-_]*)$
DoubleThink
Profil *
raději takto
/^[a-z0-9.\-_]+$/
Snek
Profil *
děkuji mnohokrát
Casper
Profil
Proč escapujete pomlčku a ne tečku?
(pokud z důvodu toho, že jde o metaznak pro rozsah, proč jste neescapoval i tečku?)
Yur4Y
Profil
Casper:
Lebo je v hranatých zátvorkách...? Tam bodka neznamená ľubovoľný znak.
Casper
Profil
Ve výčtu [] se tedy escapují jaké všechny metaznaky?

PS: rád bych si o tomhle přečetl dokumentaci, avšak nemůžu to na php.net najít (předpokládám, že syntaxe je stejná jako u JS, navíc reguláry využívám z 99% v php), četl jsem několik diskusí ohledně jednoduchého a dvojitého escapování uvvnitř regulárních výrazů, navíc výjimky jako použití pomlčky na konci či začátku výčtu kde není potřeba escapovat, rozdíly mezi POSIX a PCRE reguláry a další. Nevíte tedy, kde bych tedy našel kompletní shrnutí ?
DoubleThink
Profil *
Casper:
Ve výčtu [] se tedy escapují jaké všechny metaznaky?
Žádné. Escapují se řídicí znaky.

(předpokládám, že syntaxe je stejná jako u JS, navíc reguláry využívám z 99% v php)
Víceméně. Syntaxe výrazu v objektu RegExp je odvozena z Perlu, stejně jako PCRE v PHP.
Casper
Profil
Krom "-" jsou jaké další řídící znaky tedy ?
DoubleThink
Profil *
Stříška ^ na začátku třídy ji invertuje, tak asi ještě ta (nebo stačí ji nedávat na začátek).
peta
Profil
http://peter-mlich.wz.cz/web/links.htm#regularni_vyrazy
Chamurappi
Profil
Reaguji na peta:
Uveď konkrétní odpověď/odkaz, jinak tu tvoji adresu budu brát jako spam.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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