Regex sur une plage de nombre [Résolu]

Signaler
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
-
Bonsoir,

Je cherche comment obliger l'utilisateur a introduire des nombres dans un textbox entre 100 et 400 par exemple (VB2008). Je crois que le Regex est bon, mais je n'en suis pas sur du tout.

Private Sub XTextBox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles XTextBox.Validating
     If Me.XTextBox.Text.Length > 0 Then
         If Not System.Text.RegularExpressions.Regex.Match(Me.XTextBox.Text, "\d[100-400]").Success Then
             e.Cancel = True
         End If
     End If
End Sub


Quelqu'un peut-il me confirmer ou non si ce Regex est bon?
J'ai des problemes pour faire marcher ce code, mais cela vient peut-etre du code VB (a approfondir).
Pour l'instant, je voudrais savoir si ce Regex est bon.
Merci,

JLuc01
A voir également:

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
non, il est erroné.

les regex agissent au niveau des caractères...

il est possible de faire ce genre de test, mais il vaut mieux ne pas passer par une regex, sauf si on y est contraint.

castes ta valeur en int, fais une comparaison de valeur classique, ca vaudra mieux.

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
pour info, la regex serait :

^(?:[1-3]\d\d|400)$

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
OK, merci.
Je vais attaquer le probleme differement.

JLuc01