Autor | Zpráva | ||
---|---|---|---|
miloskroulik Profil * |
#1 · Zasláno: 9. 7. 2008, 01:35:21
Snažím se vytvořit regulární výraz, pomocí něhož by bylo možno testovat správnost formátu vloženého čísla zákona. Zatím jsem se dopracoval k této verzi:
[0-9]*/[0-9]{4}[[:blank:]]{0,1}Sb. jemuž odpovídá např. následující číslo: 455/1991 Sb. Rád bych se zeptal, zda nemám ve výrazu nějaké zásadní chyby, či opomenutí. Předem děkuji. |
||
peta Profil |
#2 · Zasláno: 9. 7. 2008, 07:59:50 · Upravil/a: peta
http://www.volny.cz/peter.mlich/www.htm#main7
([1-9]|[1-9][0-9]*)/[1-9][0-9]{3} ... * nulu na zacatku muzes nechat, ale takovy pripad by snad nemel nastav * lomitko nevim, jestli by se nemelo zalomitkovat, protoze... /reg/g ///g -> // + /g * mam pocit, ze . znamena 1 znak, * 0 a vice znaku * Ss bych kontroloval * a ze tecka na konci muze a nemusi byt * sb. cele bych to nevidel jako nutnou podminku, muzes doplnit scriptem ty |
||
miloskroulik Profil * |
#3 · Zasláno: 9. 7. 2008, 11:12:34
Děkuji za odpověď. Podle http://php.vrana.cz/escapovani-v-regularnich-vyrazech.php by nemělo být nutné lomítko escapovat (i když na stránce http://www.regexp.cz/ ho v ukázkách escapují, tak nevím). S vynecháním Sb. lze souhlasit (stejně jako s nepovinností tečky), zahrnul jsem ho z důvodu snadnosti okopírování čísla z existujících materiálů (práce by snad neměla vyžadovat tolik přemýšlení).
Potřeboval bych však upřesnit: - Co myslíte větou "Ss bych zkontroloval"? - Nerozumím příliš první části: [1-9]|[1-9][0-9]* Nestačilo by uvést [1-9][0-9]*? Děkuji. |
||
peta Profil |
#4 · Zasláno: 9. 7. 2008, 15:24:23 · Upravil/a: peta
miloskroulik
[1-9]|[1-9][0-9] a|b a = 1-9 b = 1xxx - 9xxx vylucuje moznost c c = 0-9, 00xx-99xxx Ss - kolik S je ve tvem vyrazu? :) chtel jsem tim rici, ze nekdo muze dat male i velke s jeste bych to mozna udelal jinak, kdyz sb neni podstatne. 455/1991 Sb. [^0-9/] nahrad '' (to odstrani sb i tecku, mezery pred, mezery za a nesmysly) test ([1-9]|[1-9][0-9]*)/[1-9][0-9]{3} pokud je to v JS '\' , "\/" a pokud se to musi lomitkovat '\/' , "\\\/" (lomitko zalomitkujes, uvozovku zalomitkujes, mno hruza prace s tim je :) ) |
||
miloskroulik Profil * |
#5 · Zasláno: 9. 7. 2008, 19:21:46
Děkuji. Teď už je mi to jasnější.
|
||
Časová prodleva: 16 let
|
0