2017-07-19 18 views
1

J'essaie de comprendre comment créer une regex qui me permettra de rechercher non seulement un ou deux chiffres, mais aussi une limite de 1-60. Je veux que les chiffres à deux chiffres soient également applicables, par exemple, 01-09 fonctionne aussi bien que 1-9.Une limite avec un ou deux chiffres numériques Regex

^([1,2,3,4,5]\d{0,1}|(60)) 

est ce que j'ai jusqu'à présent en termes de mise en place des deux chiffres, mais je ne peux donc pas obtenir 7, 8, 9 pour passer en soit des chiffres simples ou doubles. Toute idée sur la façon de résoudre ce problème ou dois-je faire une approche au cas par cas?

+2

'/^(60 | [1-5] [0-9] | 0 {0,1} [1-9] $/'Utilisez ceci. –

Répondre

1

essayez ceci;

^0*([1-9]$|^[1-5][0-9]$|^60$) 

de this generator

-à-dire, peut être soit simplement 1-9, 1-5 ou 1-9 suivie par, ou 60 elle-même.

Modifier modifiée pour forcer début et fin de chaîne et permet des zéros à gauche

+0

J'ai édité ma question comme je veux 01-09 pour travailler avec 1-9. Aussi cette commande accepte maintenant 61+ à la place. – TimTom

+0

J'ai modifié ma réponse, essayez ça? – sauntimo

+0

Fonctionne parfaitement, merci! – TimTom