Bonjour,

J'utilise la RegEx suivante :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
rgx = new Regex(@"^[- .'_/\\a-zA-Z0-9çáàâéèêíîóùûúüñ]*$", RegexOptions.IgnoreCase);
if (!rgx.IsMatch(monString))
{
  // monString est rejetté
}

et j'essaye de réfléchir à un moyen simple pour connaitre l'index du ou des caractères qui ont fait que le regex n'a pas pu s'appliquer.

J'imagine plusieurs façon de faire, mais nécessitant plusieurs lignes de codes. En existe t'il une simple ?


Par exemple, je vois bien :

--> Si le regex n'a pas fonctionné, alors je parcours les caractères un par un et je vois lequel est rejetté.

--> Si le regex n'a pas fonctionné, je fais une recherche avec la regex inverse, et l'utilisation de la propriété rgx.Index me retournerait l'index du caractère qui m'a posé problème


Quelle est la meilleure solution d'après vous ?

D'avance merci.