Je suis en train de faire correspondre le modèle suivant en utilisant C# et obtenir aucune correspondance trouvéeRegex ne correspond pas à en C#
Regex
^([[a-z][A-Z]]*):([[a-z][A-Z][0-9],]*)$
Sample Chaîne
Student:Tom,Jerry
Alors que la même chose travaille à ruby (vérifié avec Rubular). Une idée de pourquoi cela ne fonctionne pas dans C#?
Bloc de code
public static KeyValuePair<string, IList<string>> Parse(string s)
{
var pattern = new Regex(@"(\w*):([\w\d,]*)");
var matches = pattern.Matches(s);
if (matches.Count == 2)
{
return new KeyValuePair<string, IList<string>>(matches[0].Value, matches[1].Value.Split(','));
}
throw new System.FormatException();
}
Vraiment, je ne connais pas c, avez-vous besoin d'échapper à quelque chose? – Sturm
Vous faites des plages incorrectes, devrait être: '^ ([a-zA-Z] *): ([a-zA-Z0-9,] *) $' – hazzik
[RegExr] (http://gskinner.com/RegExr /) est un bon outil pour ce genre de chose: Voici votre exemple [travail] (http://regexr.com?31kih) et [ne fonctionne pas] (http://regexr.com?31kik). – RichardTowers