Expression régulière [Résolu]

Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Sehnsucht
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013
-
Bonjour,
j'ai besoin d'un petit coup de main pour une expression régulière.
Je dois tester une zone qui doit comporter au maximum 6 digits maxi découpés en : 4digits maxi + 1 séparateur + 2 digits maxi

Exemple : valeurs autorisées : 123.12 123 0.1 9999,99 .22 ...

j'utilise cette expression régulière : "@"^([0-9]{0,4})(\.|[,]{0,1})([0-9]{0,2})$" mais celle-ci accepte la valeur "123456"... alors que je ne dois pas dépasser 9999.99
Pourriez-vous m'aider à l'améliorer ?
Merci

DT

3 réponses

Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

Bonsoir,

Ceci semblerait convenir à ce que tu souhaites:
^\d{0,4}(?:[.,]\d{1,2})?$

de zéro à quatre chiffres suivis (optionnellement) d'un point ou d'une virgule et d'un ou deux chiffres
(pas d'intérêt à avoir un séparateur suivi de rien, mais sinon remplacer le 1 par 0)

Sinon, si le but de tout ça est de valider le contenu d'une TextBox qui ne doit contenir que des nombres (avec un maximum de 9999.99)
Alors le plus simple serait d'utiliser un NumericUpDown avec MaximumValue à 9999.99, DecimalPlaces à 2 (et optionnellement
Increment (ou IncrementStep, à vérifier dans la documentation) à 0.01)
[penser aussi à définir le MinimumValue si celui-ci ne doit pas être zéro]

Cordialement !
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

C'est parfait, Merci

pour ce qui est de son utilisation, j'utilise "RegularExpressionCellType" d'un Farpoint Spread donc saisie +/- libre dans la case...

Slts
DT
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

Ok, Pense à passer le sujet en Résolu alors