Regexp kérdés
Sziasztok,
adott a következő ellenőrzés:
preg_match ('^[0-9]{1,2}$^', $változó)
Ha jól értelmeztem a regexet akkor a { } -el azt lehet beállítani, hogy a megelőző csoportból mennyit engedjen át tehát a fenti példának 2 0-9 is terjedő számjegyet kellene átengednie. Nálam viszont 3 számjegyet is átenged. Mi lehet ennek az oka?
■ adott a következő ellenőrzés:
preg_match ('^[0-9]{1,2}$^', $változó)
Ha jól értelmeztem a regexet akkor a { } -el azt lehet beállítani, hogy a megelőző csoportból mennyit engedjen át tehát a fenti példának 2 0-9 is terjedő számjegyet kellene átengednie. Nálam viszont 3 számjegyet is átenged. Mi lehet ennek az oka?
Azt a szabályt állítottad,
Ha a szabály teljesül, akkor mindegy, hogy a string végi 2 szám előtt betűk, vagy számok állnak.
Tehát: 'ksfbvnf5' 'kfbvfek56' ezekre teljesül, 'lbvagv123' erre is, de 'kdlsbv12b' erre nem.
Ha azt akarod, hogy a string végi -3. karakter ne szám legyen, ez a kód is jó lehet:
Sikerült, köszi!
preg_match('/^[0-9]{1,2}$/',
^
jelet választottad határoló karakterként, ami nem túl szerencsés.