Groupes d'expressions régulières en C#
Dans le bloc de code suivant, l'expression régulière fournie extrait le contenu entre crochets :
var pattern = @"\[(.*?)\]"; var matches = Regex.Matches(user, pattern);
Avec l'entrée user == "Josh Smith [jsmith]":
matches.Count == 1 matches[0].Value == "[jsmith]"
Cependant, matches[0].Groups.Count == 2, avec :
matches[0].Groups[0].Value == "[jsmith]" matches[0].Groups[1].Value == "jsmith"
Comprendre la collection de groupes
Dans ce cas :
Par conséquent, match.Groups[1]. Value récupère le contenu entre parenthèses, "jsmith".
Nombre de groupes dans une correspondance
Les règles suivantes régissent le nombre de groupes dans une correspondance :
Dans l'exemple fourni, puisque le modèle contient un groupe de capture, match.Groups.Count sera toujours 2. Cependant, des expressions régulières plus complexes avec plusieurs groupes de capture entraîneront un plus grand nombre de groupes.
Exemples supplémentaires
Considérez le modèle suivant et faites correspondre :
var pattern = @"\[(.*?)\](.*)"; var match = Regex.Match("ignored [john] John Johnson", pattern);
Dans un modèle plus complexe :
var pattern = @"(\[.*?\])+"; var match = Regex.Match("[john][johnny]", pattern);
Comprendre ces concepts est crucial pour exploiter la puissance des groupes d'expressions régulières en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!