Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Regex.Matches (String)

 

Data di pubblicazione: novembre 2016

Cerca nella stringa di input specificata tutte le occorrenze di un'espressione regolare.

Spazio dei nomi:   System.Text.RegularExpressions
Assembly:  System (in System.dll)

public MatchCollection Matches(
	string input
)

Parametri

input
Type: System.String

Stringa nella quale cercare una corrispondenza.

Valore restituito

Type: System.Text.RegularExpressions.MatchCollection

Raccolta di oggetti Match trovati dalla ricerca. Se non vengono trovate corrispondenze, il metodo restituisce un oggetto raccolta vuoto.

Exception Condition
ArgumentNullException

input è null.

Il Matches(String) metodo è simile al Match(String) (metodo), ma restituisce informazioni su tutte le corrispondenze trovate nella stringa di input, anziché una singola corrispondenza. È equivalente al codice seguente:

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

      match = match.NextMatch();
}  

La raccolta include solo le corrispondenze e termina in corrispondenza non prima.

Criterio di espressione regolare per il quale il Matches(String) metodo ricerche è definito dalla chiamata a uno del Regex costruttori della classe. Per ulteriori informazioni sugli elementi che possono formare un modello di espressione regolare, vedere Linguaggio di espressioni regolari - Riferimento rapido.

Il Matches metodo utilizza la valutazione differita per popolare l'oggetto restituito MatchCollection oggetto. L'accesso ai membri di questa raccolta, ad esempio MatchCollection.Count e MatchCollection.CopyTo fa sì che la raccolta di essere popolata immediatamente. Per avvalersi della valutazione lenta, è necessario scorrere la raccolta utilizzando un costrutto quale foreach in c# e ForEach...Next in Visual Basic.

A causa della relativa valutazione lazy, la chiamata di Matches(String) metodo non genera un RegexMatchTimeoutException (eccezione). Tuttavia, l'eccezione viene generata quando viene eseguita un'operazione su di MatchCollection oggetto restituito da questo metodo, se il MatchTimeout proprietà non è Regex.InfiniteMatchTimeout e un'operazione corrispondente supera l'intervallo di timeout.

Nell'esempio seguente viene utilizzata la Matches(String) metodo per identificare le parole di una frase che termina in "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

Il criterio di ricerca di espressioni regolari \b\w+es\b è definito nel modo illustrato nella tabella seguente.

Criterio

Descrizione

\b

Inizia la corrispondenza sul confine di parola.

\w+

Trova la corrispondenza di uno o più caratteri alfanumerici.

es

Corrisponde alla stringa letterale "es".

\b

Termina la corrispondenza sul confine di parola.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: