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.Matches méthode (String)

 

Date de publication : novembre 2016

Recherche dans la chaîne d'entrée spécifiée toutes les occurrences d'une expression régulière.

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

public MatchCollection Matches(
	string input
)

Paramètres

input
Type: System.String

Chaîne dans laquelle une correspondance doit être recherchée.

Valeur de retour

Type: System.Text.RegularExpressions.MatchCollection

Une collection de le Match objets trouvés par la recherche. Si aucune correspondance n’est trouvée, la méthode retourne un objet de collection vide.

Exception Condition
ArgumentNullException

input a la valeur null.

Le Matches(String) méthode est similaire à la Match(String) (méthode), à ceci près qu’elle retourne des informations sur toutes les correspondances trouvées dans la chaîne d’entrée, au lieu d’une correspondance unique. Il est équivalent au code suivant :

Match match = regex.Match(input);
while (match.Success) {
      // Handle match here...

      match = match.NextMatch();
}  

La collection inclut uniquement les correspondances et s’arrête à la première non-correspondance.

Le modèle d’expression régulière pour laquelle le Matches(String) recherches de méthode est définie par l’appel à l’un de la Regex constructeurs de classe. Pour plus d’informations sur les éléments qui peuvent former un modèle d’expression régulière, consultez Langage des expressions régulières - Aide-mémoire.

Le Matches méthode utilise l’évaluation tardive pour remplir retourné MatchCollection objet. Accès aux membres de cette collection tels que MatchCollection.Count et MatchCollection.CopyTo provoque la collection à remplir immédiatement. Pour tirer parti de l’évaluation tardive, vous devez itérer la collection en utilisant une construction telle que foreach en c# et ForEach...Next en Visual Basic.

En raison de son évaluation différée, l’appel du Matches(String) méthode ne lève pas une RegexMatchTimeoutException exception. Toutefois, l’exception est levée lorsqu’une opération est effectuée sur le MatchCollection objet retourné par cette méthode, si le MatchTimeout propriété n’est pas Regex.InfiniteMatchTimeout et l’intervalle de délai d’attente est supérieur à une opération de correspondance.

L’exemple suivant utilise le Matches(String) méthode pour identifier tout mot dans une phrase qui se termine par « es ».

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b\w+es\b";
      Regex rgx = new Regex(pattern);
      string sentence = "Who writes these notes?";

      foreach (Match match in rgx.Matches(sentence))
         Console.WriteLine("Found '{0}' at position {1}", 
                           match.Value, match.Index);
   }
}
// The example displays the following output:
//       Found 'writes' at position 4
//       Found 'notes' at position 17

Le modèle d'expression régulière \b\w+es\b est défini comme indiqué dans le tableau suivant.

Modèle

Description

\b

Commencer la correspondance à la limite d'un mot.

\w+

Mettre en correspondance un ou plusieurs caractères alphabétiques.

es

Mettre en correspondance la chaîne littérale « es ».

\b

Terminer la correspondance à la limite d'un mot.

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: