Autor | Zpráva | ||
---|---|---|---|
laijk Profil |
#1 · Zasláno: 15. 5. 2011, 00:20:08
Zdravím, mám regulárny výraz '|^\d{1, 3}.\d{1}$|' -mal by skontrolovať či užívateľ zadal čísla vo formáte xxx.x -teda pred bodkou nemusia byť 3 čísla, ale stačí jedno alebo dve
-tuším je to zle lebo mi to vždy hlási chybu, neviem či tam môže byť tá bodka, ale keď chcem aby to skontrolovalo podľa toho formátu xxx.x tak ako by to malo vyzerať?? |
||
laijk Profil |
#2 · Zasláno: 15. 5. 2011, 00:23:14
zistil som, že chyba bola v tom \d{1, 3} -poraďte prosím ako mám zapísať aby som mohol zadať ľubovolne jedno až tri čísla, ďakujem
|
||
ShiraNai7 Profil |
#3 · Zasláno: 15. 5. 2011, 00:25:27
{1, 3} Ta mezera tam nemá být. |
||
YoSarin Profil |
#4 · Zasláno: 15. 5. 2011, 00:26:06 · Upravil/a: YoSarin
Tečka v regulárním výrazu znamená "cokoli". Pro své potřeby musíš tu tečku oescapovat:
'|^\d{1,3}\.\d{1}$|' A poznámka pod čarou - jako znaky uvozující (a ukončující) regexp bych vybral něco jiného než svislítko - aby se ti to pak nepletlo s "nebo". Zkus používat třeba znak ~ edit: a té mezery jsem si nevšiml... :-( |
||
laijk Profil |
#5 · Zasláno: 15. 5. 2011, 00:33:17
ShiraNai7:
ďakujem :) nevedel som YoSarin: neviem k čomu je to oescapvanie, čiže namiesto: '|^\d{1,3}.\d{1}$|' by bolo lepšie: '~^\d{1,3}.\d{1}$~' ? ShiraNai7: a musí tam byť to spatné lomítko pred bodkou? |
||
ShiraNai7 Profil |
#6 · Zasláno: 15. 5. 2011, 00:39:39
laijk:
„a musí tam byť to spatné lomítko pred bodkou?“ Musí. Protože samotná tečka znamená "jakýkoliv znak". To by potom ten výraz pustil vstupy jako: 1234X5 1234@5 9-1 atd |
||
laijk Profil |
#7 · Zasláno: 15. 5. 2011, 00:43:12
ShiraNai7:
aha, no akurát som sa šiel spýtať prečo to berie aj čiarky, ďakujem |
||
ShiraNai7 Profil |
#8 · Zasláno: 15. 5. 2011, 00:47:37
laijk:
Kde to bere čárky? Pokud máš před tou tečkou \ tak by nemělo. |
||
laijk Profil |
#9 · Zasláno: 15. 5. 2011, 00:49:06
ShiraNai7:
predtým to bralo keď som nemal, teraz to funguje tak ako má :) |
||
YoSarin Profil |
#10 · Zasláno: 15. 5. 2011, 01:31:40
laijk:
Jen dodatek - oescapovat tečku znamená přidat "\" před tu ".", náhrada "|" za "~" není oescapování, ani to není nutné - je to čistě na volbě toho kdo ten regulár píše - "~" preferuji protože v regexpu AFAIK nemá žádný jiný speciální význam (narozdíl od "|"). |
||
laijk Profil |
#11 · Zasláno: 15. 5. 2011, 01:33:44
YoSarin:
vďaka, budem aj ja používať |
||
Časová prodleva: 13 let
|
0