Autor | Zpráva | ||
---|---|---|---|
habendorf Profil |
#1 · Zasláno: 8. 8. 2005, 12:06:17
Pustil jsem se na Linuxsoftu do studia PHP a v 22. dílu o regulárech jsem narazil na věc, kterou nechápu:
Metaznak ? znamená "Předchozí znak tam bude maximálně jednou", takže výrazu s?t vyhoví prejt, prst, psst. Nějak se mi nezdálo to psst, řekl jsem si "asi překlep autora", ale echo (integer) ereg("s?t", "psst"); skutečně dává jedničku. Můžete mi to prosím někdo nějak vysvětlit? |
||
Hugo Profil |
#2 · Zasláno: 8. 8. 2005, 12:08:16
habendorf
nikde nemas definovane co ma byt pred tou sekvenci s?t, proto tomu vyhovi i psst. |
||
Dero Profil |
#3 · Zasláno: 8. 8. 2005, 12:09:00
Nech mě hádat - echo (integer) ereg("ps?t", "psst"); dá nulu.
Špekuluj. :o) |
||
habendorf Profil |
#4 · Zasláno: 8. 8. 2005, 12:10:10
Hugo: čili on to chápe tak, že je tam ps (nijak nevyhodnocované), pak maximálně jednou "s" a po něm "t" ?
|
||
habendorf Profil |
#5 · Zasláno: 8. 8. 2005, 12:12:19
Dero: echo (integer) ereg("ps?t", "psst"); dá nulu.
Jo, to je mi jasný. |
||
Dero Profil |
#6 · Zasláno: 8. 8. 2005, 12:15:59
habendorf
Takhle: Máš "psssssssssssst" RE "s?t" hledá nejdřív "st", poté případně "t". Nalezne ho tady: "psssssssssssst" RE "ps?t" hledá nejdřív "pst", poté "pt" - nenalezne. |
||
habendorf Profil |
#7 · Zasláno: 8. 8. 2005, 12:18:06
Dero: Jo, začíná mi to docházet, díky.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0