Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Regex.GetGroupNames méthode ()

 

Date de publication : novembre 2016

Retourne un tableau de noms de groupes de captures pour l'expression régulière.

Espace de noms:   System.Text.RegularExpressions
Assembly:  System (dans System.dll)

public string[] GetGroupNames()

Valeur de retour

Type: System.String[]

Tableau de chaînes des noms de groupes.

La collection de noms de groupe contient l’ensemble des chaînes utilisées pour nommer les groupes de capture dans l’expression. Même si les groupes de capture ne sont pas explicitement nommés, ils reçoivent automatiquement des noms numériques (« 0 », « 1 », « 2 », « 3 » et ainsi de suite). Le « 0 » nommés groupe représente tout le texte mis en correspondance par le modèle d’expression régulière. Les groupes numérotés précèdent les groupes explicitement nommés dans la collection, et les groupes nommés apparaissent dans l’ordre dans lequel ils sont définis dans le modèle d’expression régulière.

Vous pouvez utiliser le Length propriété sur le tableau renvoyé par cette méthode pour déterminer le nombre de groupes dans une expression régulière.

L’exemple suivant définit un à usage général ShowMatches méthode qui affiche les noms des groupes d’expression régulière et leur texte correspondant.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b(?<FirstWord>\w+)\s?((\w+)\s)*(?<LastWord>\w+)?(?<Punctuation>\p{Po})";
      string input = "The cow jumped over the moon.";
      Regex rgx = new Regex(pattern);
      Match match = rgx.Match(input);
      if (match.Success)
         ShowMatches(rgx, match);
   }

   private static void ShowMatches(Regex r, Match m)
   {
      string[] names = r.GetGroupNames();
      Console.WriteLine("Named Groups:");
      foreach (var name in names) {
         Group grp = m.Groups[name];
         Console.WriteLine("   {0}: '{1}'", name, grp.Value);
      }
   }
}
// The example displays the following output:
//       Named Groups:
//          0: 'The cow jumped over the moon.'
//          1: 'the '
//          2: 'the'
//          FirstWord: 'The'
//          LastWord: 'moon'
//          Punctuation: '.'

In this case, the regular expression pattern \b(?<FirstWord>\w+)\s?((\w+)\s)*(?<LastWord>\w+)?(?<Punctuation>\p{Po}) is intended to parse a simple sentence, and to identify its first word, last word, and ending punctuation mark. The following table shows how the regular expression pattern is interpreted:

Pattern

Description

\b

Begin the match at a word boundary.

(?<FirstWord>\w+)

Match one or more word characters. This is the FirstWord named group.

\s?

Match zero or one white-space characters.

(\w+)

Match one or more word characters. This is the second capturing group.

\s

Match a white-space character.

((\w+)\s)*

Match zero or more occurrences of one or more word characters followed by a white space. This is the first capturing group.

(?<LastWord>\w+)?

Match zero or one occurrence of one or more word characters. This is the LastWord named group.

(?<Punctuation>\p{Po})

Match a character whose Unicode category is Punctuation, Other. This is the Punctuation named group.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: