Autor | Zpráva | ||
---|---|---|---|
Oskar Profil * |
#1 · Zasláno: 5. 9. 2013, 19:24:25 · Upravil/a: Oskar
Po delší době dělám něco v PHP a peru se s regulérními výrazy.
if (preg_match("^(C|X){1}(F|X){1}[0-9]{4}$", $fraze[0])) { echo $fraze[0]; } Potřeboval bych radu, co dělám blbě. Tímto "filtrem" by měli projít řetězce jako např. CF0000 nebo CX1234 nebo XF6547 nebo XX7893, ale neprojde tím nic :D vyřešeno ;) preg_match("#^[CX]{1}[FX]{1}[0-9]{4}$#", $fraze[$i]) |
||
Sir Tom Profil |
#2 · Zasláno: 6. 9. 2013, 18:28:50
Oskar:
„peru se s regulérními výrazy“ Pozor! Jsou to regulÁrní výrazy. ;) |
||
Kubo2 Profil |
#3 · Zasláno: 8. 9. 2013, 01:58:58
Oskar:
Oficiálna dokumentácia phpka k PCRE uvádza, že (citujem): > When using the PCRE functions, it is required that the pattern is enclosed by delimiters. > A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character. > Čiže v skratke, keď píšeš reguláry v PHP funkciách z rodiny PCRE (preg_*), musia byť uzavreté medzi dvojicou nealfanumerických znakov vylučujúc pritom aj spätné zátvorky a medzery (white-spaces). Tým pádom to môžu byť (najpoužívanejšie): • lomítka / • vlnky ~ • hash signs # • zavináče @ • bodky · (tiež middots — neskúšal som, ale nie sú to alfanumerické znaky, takže by mali fungovať) ~ a mnoho ďaľších. Inak ešte k tvojmu reguláru: „^[CX]{1}[FX]{1}[0-9]{4}$“ Dá sa prepísať kúsok jednoduchšie: ^[CX][FX]\d{4}$ |
||
Časová prodleva: 11 let
|
0