Matches Méthode (String, Int32)
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, Int32)

 

Recherche dans la chaîne d'entrée spécifiée toutes les occurrences d'une expression régulière, en commençant à la position de démarrage spécifiée dans la chaîne.

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

public MatchCollection Matches(
	string input,
	int startat
)

Paramètres

input

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

startat

Position du caractère dans la chaîne d'entrée à partir duquel commencer la recherche.

Valeur de retour

Type: System.Text.RegularExpressions.MatchCollection

Collection des objets Match 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.

ArgumentOutOfRangeException

startat est inférieur à zéro ou supérieur à la durée de input.

Le Matches(String, Int32) méthode est similaire à la Match(String, Int32) (méthode), à ceci près qu'elle renvoie 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, startAt);
while (match.Success) {
      // Handle match here...

      match = match.NextMatch();
}  

Le modèle d'expression régulière pour lequel le Matches(String, Int32) recherches de méthode est définie par l'appel à 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 Regular Expression Language - Quick Reference.

Le Matches méthode utilise l'évaluation tardive pour remplir retourné MatchCollection objet.L'accès aux membres de cette collection comme MatchCollection.Count et MatchCollection.CopyTo provoque le remplissage immédiat de la collection.To take advantage of lazy evaluation, you should iterate the collection by using a construct such as foreach in C# and ForEachNext in Visual Basic.

En raison de son évaluation différée, l'appel du Matches(String, Int32) 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 une opération de correspondance dépasse l'intervalle de délai d'attente...

L'exemple suivant utilise le Match(String) méthode pour rechercher le premier mot dans une phrase qui se termine par « es », puis appelle le Matches(String, Int32) méthode pour identifier tout mot supplémentaire 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 and uses our paper?";

      // Get the first match.
      Match match = rgx.Match(sentence);
      if (match.Success) {
         Console.WriteLine("Found first 'es' in '{0}' at position {1}", 
                           match.Value, match.Index);
         // Get any additional matches.
         foreach (Match m in rgx.Matches(sentence, match.Index + match.Length))
            Console.WriteLine("Also found '{0}' at position {1}", 
                              m.Value, m.Index);
      }   
   }
}
// The example displays the following output:
//       Found first 'es' in 'writes' at position 4
//       Also found 'notes' at position 17
//       Also found 'uses' at position 27

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

Correspond à la chaîne littérale « es ».

\b

Terminer la correspondance à la limite d'un mot.

Universal Windows Platform
Disponible depuis 4.5
.NET Framework
Disponible depuis 1.1
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher:
© 2016 Microsoft