Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
Zdravím, potřeboval bych pomoci s regulárními výrazy, zadání je níže uvedené
první znak může být 1) / 2) . 3) _ ad 1) může obsahovat písmeno (a - z [bez diakritiky], číslo 2 nebo 6, celkem max 2 znaky, min 1 znak vyhovující: /p2, /6, /ab, /b ad 2) může obsahovat písmeno (a - z [bez diakritiky], číslo 1,2,4,6, celkem max 2 znaky, min 1 znak vyhovující .12, .ab, .62,a2 ad 3) může obsahovat maximálne dvojici čísel do 30, vyhovující _15, _8 Dokázal by mi s tímto někdo poradit ? Děkuji |
||
DobráKlávesnice Profil * |
#2 · Zasláno: 7. 4. 2014, 18:00:15
^((/p2|/6[a-z26]?|/ab|/b[a-z26]?)|(\.12|\.ab|\.62|\.a2)|(_15|_8[0-9]?))$ |
||
Tori Profil |
#3 · Zasláno: 7. 4. 2014, 18:00:24
např.?
~^/[a-z26]{1,2}|\.[a-z1246]{1,2}|_[1-3]?[0-9]$~ (netestováno)
|
||
Taps Profil |
#4 · Zasláno: 7. 4. 2014, 19:42:48
Diky Tori..vyzkousim
|
||
1Pupik1989 Profil |
#5 · Zasláno: 8. 4. 2014, 00:12:54
Dospěl jsem skoro ke stejnému regulárnímu výrazu jako Tori. Akorát poslední část jsem změnil, jinak by prošlo i _31.
~^/[a-z26]{1,2}|\.[a-z1246]{1,2}|_[12]?[0-9]|_30$~ |
||
Taps Profil |
#6 · Zasláno: 8. 4. 2014, 07:48:52
1Pupik1989, Tori:
Ještě bych potřeboval, aby údaje oddělení svislítky byly brány jako samostatné skupiny. Nevím zda je možné aplikovat něco jako operátor OR V současné době totiž projde i výraz .a3, což je nežádoucí |
||
peta Profil |
Bylo by dobre vypsat vsechny mozne podoby kombinaci, za predpokladu, ze ses mohl seknout v popisu (V současné době totiž projde i výraz .a3, což je nežádoucí ). Ja budu vychazet jen z tech povolenych tvaru, tak, kdyby neco nesedelo, tak se nediv.
vyhovující: /p2, /6, /ab, /b /[a-z]{1,2}|[a-z]?[26] -- ab, a, 2, 6, a2, a6
/[a-z26]{1,2} -- to povoluje i kombinaci dvou cisel, 22, 26, 62, 66
vyhovující .12, .ab, .62, a2 \.[a-z]{2}|\.[1246]{2}|[a-z][1246] -- .aa, .12, a1, neprojde ale jednoduche cislo
maximálne dvojici čísel do 30, vyhovující _15, _8 _[12]?[0-9]|_30 -- pozor, vyhovuje i pro _0
|
||
Tori Profil |
Taps:
Stačí celý výraz zabalit do závorek: ~^(?:/[a-z26]{1,2}|\.[a-z1246]{1,2}|_[12]?[0-9]|_30)$~ (Anebo napsat znaky začátku a konce řetězce do všech alternativ - v původním reguláru se totiž aplikovaly jen na první a poslední možnost.)
1Pupik1989: Dík. :) |
||
Taps Profil |
#9 · Zasláno: 8. 4. 2014, 09:37:50
Tori:
Děkuji |
||
1Pupik1989 Profil |
Tori:
Já zase zapomněl uzavřít to do skupiny. Nějak mi nedocvaklo, že znak začátku a konce jsou platné pouze na první a poslední. Ony i ty poslední dva reguláry by šlo hodit do jedné skupiny. _(?:[12]?[0-9]|30) Už je to ale delší a nepřikládal jsem tomu nějaký větší význam. peta: „pozor, vyhovuje i pro _0“ Nula není číslo? :-O Jdu praštit svého bývalého matikáře. :) |
||
peta Profil |
1Pupik1989: Ano, ale treba je to jedna z tech veci, kterou nechtel :)
|
||
Časová prodleva: 10 let
|
0