Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 22. 1. 2010, 13:25:01
Zdravím,
snažím se vytáhnout část URL a zjistit, jestli vyhovuje podmínkám celé kladné číslo, které nezačíná nulou. return ereg("^[1-9]?[1234567890]+$",$cislo); V regulárech začínám, ale nerozumím tomu, proč tohle nefunguje. Respektive vezme to i číslo začínající nulou, jinak to funguje. V čem je chyba? Děkuju, Dumbrovský |
||
DoubleThink Profil * |
#2 · Zasláno: 22. 1. 2010, 13:27:50
Máš opačně + a ?
|
||
nightfish Profil |
#3 · Zasláno: 22. 1. 2010, 13:30:02
Pavel Dumbrovský:
„V čem je chyba?“ řekl bych, že v tom otazníku další je v tom, že používáš funkci ereg(), která byla označena jako zavržená a v budoucnu bude odstraněna lepší bude return preg_match('~^[1-9]\d*$~', $cislo); kde ~ je oddělovač výrazu (musí být na začátku i na konci regulárního výrazu; za koncovým oddělovačem mohou následovat modifikátory) ^ je začátek řetězce $ je konec řetězce [1-9] - právě jedno celé číslo z intervalu 1 až 9 \d - libovolná číslice * - vztahuje se k \d - počet opakování 0 a více |
||
Pavel Dumbrovský Profil |
#4 · Zasláno: 22. 1. 2010, 13:38:35
DoubleThink:
> Máš opačně + a ? Prohodil jsem to a nebude to úplně ono s tou nulou. Vyhoví: 10, 110, 1110,... Nevyhoví: 101, 1101, nightfish: Děkuju za tip, jdu to zkusit. |
||
Pavel Dumbrovský Profil |
#5 · Zasláno: 22. 1. 2010, 13:44:48
nightfish:
Zdá se, že to funguje suprově, děkuju. Neměl bys link na stránku, kde by byly vysvětelný reguláry v kombinaci s preg_match? |
||
nightfish Profil |
#6 · Zasláno: 22. 1. 2010, 13:47:06
Pavel Dumbrovský:
„Prohodil jsem to a nebude to úplně ono s tou nulou.“ protože v případě prohození by mohla být nula jen na posledním místě nebo vůbec „Neměl bys link na stránku, kde by byly vysvětelný reguláry v kombinaci s preg_match?“ musím tě odkázat přímo do manuálu, tam je to popsané dost podrobně |
||
Časová prodleva: 14 let
|
0