Si tu as déjà une regex qui permet de valider la chaine, tu peux la modifier de façon à "capturer" des parties de la chaine et y accéder par leur nom.
La syntaxe à utiliser est décrite ici. En l'occurence, la forme que tu vas sans doute utiliser est la suivante :
(?<nom>pattern)
Par exemple, pour matcher des chaines du genre "a=3", "x=y" ou "foo=bar" (nom = valeur), tu peux utiliser une expression régulière comme ça :
Regex regex = new Regex("(?<nom>[a-zA-Z0-9_]+)=(?<valeur>[a-zA-Z0-9_]+)");
Pour récupérer le résultat :
1 2 3 4 5 6 7
| Match m = regex.Match(texte);
if (m.Success)
{
string nom = m.Groups["nom"].Value;
string value = m.Groups["value"].Value;
Console.WriteLine("{0} = {1}", nom, value);
} |
Partager