J'essaye de d=E9finir tr=E8s simplement une expression=20
r=E9guli=E8re qui me permet de v=E9rifier que la chaine pass=E9e=20
en param=E8tre ne contient que des chiffres. Voici ma=20
m=E9thode :
static public bool isChaineNumerique(string sPar_Chaine)
{
System.Text.RegularExpressions.Regex oLocal_Regex;
bool bLocal_ValeurRetour =3D false;
oLocal_Regex =3D new Regex(@"[0-9]");
if (oLocal_Regex.IsMatch(sPar_Chaine)=3D=3Dtrue)
{
bLocal_ValeurRetour =3D true;
}
return bLocal_ValeurRetour;
}
Or cela ne marche pas.=20
Si je saisi "12ab" cette m=E9thode me retourne true.
comme le disait Patrick, l'erreur est le pattern lui meme utiliser ^d*$, et non d
regulator est un outils qui va vous permettre d'experimenter autours des regex. http://regex.osherove.com/
ça va vous donner des ailes... et pour l'utilisation de la class Regex, on est la.
adebaene
Stéphane ANDRE a écrit :
J'essaye de définir très simplement une expression régulière qui me permet de vérifier que la chaine passée en paramètre ne contient que des chiffres. Voici ma méthode :
static public bool isChaineNumerique(string sPar_Chaine) { System.Text.RegularExpressions.Regex oLocal_Regex; bool bLocal_ValeurRetour = false; oLocal_Regex = new Regex(@"[0-9]"); if (oLocal_Regex.IsMatch(sPar_Chaine)==true) { bLocal_ValeurRetour = true; }
return bLocal_ValeurRetour; }
Or cela ne marche pas. Si je saisi "12ab" cette méthode me retourne true.
D'ou vient l'erreur ?
Ta regex teste si la chaine contient au moins 1 caractère numérique. Pour tester qu'elle ne contient que çà, utilises :
@"^d*$"
^ correspond au début de la chaine, $ à la fin de la chaine. d est équivalent à [0-9] * spécifie "de 0 à N fois". Tu peux vouloir le remplacer par + ("de 1 à N fois") pour éviter de matcher les chaines vides.
Arnaud MVP - VC
Stéphane ANDRE a écrit :
J'essaye de définir très simplement une expression
régulière qui me permet de vérifier que la chaine passée
en paramètre ne contient que des chiffres. Voici ma
méthode :
static public bool isChaineNumerique(string sPar_Chaine)
{
System.Text.RegularExpressions.Regex oLocal_Regex;
bool bLocal_ValeurRetour = false;
oLocal_Regex = new Regex(@"[0-9]");
if (oLocal_Regex.IsMatch(sPar_Chaine)==true)
{
bLocal_ValeurRetour = true;
}
return bLocal_ValeurRetour;
}
Or cela ne marche pas.
Si je saisi "12ab" cette méthode me retourne true.
D'ou vient l'erreur ?
Ta regex teste si la chaine contient au moins 1 caractère numérique.
Pour tester qu'elle ne contient que çà, utilises :
@"^d*$"
^ correspond au début de la chaine, $ à la fin de la chaine.
d est équivalent à [0-9]
* spécifie "de 0 à N fois". Tu peux vouloir le remplacer par + ("de 1
à N fois") pour éviter de matcher les chaines vides.
J'essaye de définir très simplement une expression régulière qui me permet de vérifier que la chaine passée en paramètre ne contient que des chiffres. Voici ma méthode :
static public bool isChaineNumerique(string sPar_Chaine) { System.Text.RegularExpressions.Regex oLocal_Regex; bool bLocal_ValeurRetour = false; oLocal_Regex = new Regex(@"[0-9]"); if (oLocal_Regex.IsMatch(sPar_Chaine)==true) { bLocal_ValeurRetour = true; }
return bLocal_ValeurRetour; }
Or cela ne marche pas. Si je saisi "12ab" cette méthode me retourne true.
D'ou vient l'erreur ?
Ta regex teste si la chaine contient au moins 1 caractère numérique. Pour tester qu'elle ne contient que çà, utilises :
@"^d*$"
^ correspond au début de la chaine, $ à la fin de la chaine. d est équivalent à [0-9] * spécifie "de 0 à N fois". Tu peux vouloir le remplacer par + ("de 1 à N fois") pour éviter de matcher les chaines vides.
Arnaud MVP - VC
Stéphane ANDRE
Merci beaucoup à vous 2 !
-----Message d'origine----- comme le disait Patrick, l'erreur est le pattern lui meme utiliser ^d*$, et non d
regulator est un outils qui va vous permettre
d'experimenter autours des
regex. http://regex.osherove.com/
ça va vous donner des ailes... et pour l'utilisation de la class Regex, on est la.
.
Merci beaucoup à vous 2 !
-----Message d'origine-----
comme le disait Patrick, l'erreur est le pattern lui meme
utiliser ^d*$, et non d
regulator est un outils qui va vous permettre
d'experimenter autours des
regex.
http://regex.osherove.com/
ça va vous donner des ailes...
et pour l'utilisation de la class Regex, on est la.