Expression régulière - Vérifier si un nombre est supérieur à une valeur [Résolu]

Signaler
Messages postés
12
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
23 mars 2009
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

Est-ce que quelqu'un connaît une expression régulière pour tester si un nombre est supérieur à 30 par exemple.

J'ai fouiller un peu mais j'ai pas trouver.

Merci de votre aide.

12 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
si ça baigne : nickel
les expressions régulières ne traient que des
chaînes de caractères... à priori ( ? )
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
simplifions:

>30 => ^((3[1-9])|([4-9]\d)|([1-9]\d{2,}))$

et

>=30 => ^((3\d)|([4-9][0-9])|([1-9]\d{2,}))$




et effectivement, les expression ne traitent que les caractères
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
Bonjour,

une expression régulière ? pourquoi faire ?

if ( nombre > 30 ) { il l'est ! }

non ?

Cordialement
Messages postés
12
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
23 mars 2009

Effectivement là c'est la méthode simple ;)

Mais j'ai vraiment besoin d'une expression régulière pour faire ce dont j'ai besoin.

Car j'ai un builder qui me crée un formulaire et qui teste les champs à travers une expression régulière. Donc j'ai pas la main sur le code mais juste sur le builder qui n'accepte qu'une expression régulière.

Si quelqu'un s'y connaît en regexp, ça serait gentil :)

Merci
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
loin de connaître très très bien les expressions régulières !

à part contrôler que le 1er caractères est compris entre 3 et 9,
et le 2ème entre 0 et 9 ou que le champ est numérique
je ne vois pas.

pas sûr qu'une expression régulière puisse tester > valeur,
mais c'est tellement puissant que tout est possible !

attend d'autres avis.
Messages postés
12
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
23 mars 2009

Merci de ta réponse.

Pas de spécialiste en regexp par ici :(
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
peut être sur le forum dédié ?
http://regex.codes-sources.com/
Messages postés
12
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
23 mars 2009

Merci je ne connaissais effectivement pas ce site.

Mon problème est réglé.

Si ça en intéresse :
Strictement supérieur à 30 :
(^[3]{1}[1-9]{1}$)|(^[4-9]{1}[0-9]{1}$)|(^[1-9]{1}[0-9]{2,1000}$)

Supérieur ou égale à 30 :
(^[3-9]{1}[0-9]+$)|(^[1-9]{1}[0-9]{2,1000}$)

Merci
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
"121" c'est possible ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
sur le même modèle:

> 121

^((12[2-9])|(1[3-9]\d)|([2-9]\d{2,}))$

décriptons :

^( )$

teste l'integralité ( 125€ par exemple, ne sera pas testé)

ensuite, on a trois groupes, trois alternatives séparées par un |

sont acceptés, donc:

12[2-9] 12 suivi d'un chiffre compris entre 2 et9 (122 >= x >= 129)

1[3-9]\d 1 suivit de 3 à 9, suivi d'un chiffre (130 >= x >= 199)

[2-9]\d{2,} un chiffre de 1 à 9 (on zappe les 0 non significatifs) suivi de 2 à une infinité de chiffres (200 >= x >= +infini
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
8
ma question était plus :
est-ce qu'un nombre > 100 peut-être "saisi"
et est-ce que l'expression régulière va bien répondre ok ? ( 121 est bien > 30 )

remarque que http://www.lesmotsontunsens.com/... target='_blank'>http://www.google.fr/..., j'ai qu'à tester et pis c'est tout ;o)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
oui, tu n'a pas de limite superieure