Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Regex.Matches (String)

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

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

public MatchCollection Matches(
	string input
)

Parametri

input
Tipo: System.String
Stringa nella quale ricercare una corrispondenza.

Valore restituito

Tipo: System.Text.RegularExpressions.MatchCollection
Raccolta di oggetti Match trovati dalla ricerca. Se non vengono individuate corrispondenze, il metodo restituisce un oggetto Collection vuoto.

EccezioneCondizione
ArgumentNullException

input è null.

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


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

      match = match.NextMatch();
}  


La raccolta include solo le corrispondenze e termina alla prima non corrispondono.

Il modello di espressione regolare cercato dal metodo Matches(String) è definito dalla chiamata a uno dei costruttori di classe Regex. Per ulteriori informazioni sugli elementi che possono formare un modello di espressione regolare, vedere Linguaggio di espressioni regolari - Riferimento rapido.

Il metodo Matches utilizza la valutazione differita per popolare l'oggetto MatchCollection restituito. Accesso ai membri della raccolta come MatchCollection.Count e MatchCollection.CopyTo alla raccolta venga popolato immediatamente. Per sfruttare la valutazione differita, è necessario iterare l'insieme tramite un costrutto, quale foreach in C# e ForEachNext in Visual Basic.

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

Nell'esempio seguente viene utilizzato il metodo Matches(String) per identificare qualsiasi parola in 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 modello di espressione regolare \b\w+es\b viene definito come illustrato nella tabella seguente.

Modello

Descrizione

\b

Inizia la corrispondenza sul confine di parola.

\w+

Trova la corrispondenza di uno o più caratteri alfanumerici.

es

Trovare la corrispondenza della stringa letterale "es".

\b

Termina la corrispondenza sul confine di parola.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft