Regex.IsMatch Regex.IsMatch Regex.IsMatch Regex.IsMatch Method

Definizione

Indica se l'espressione regolare individua una corrispondenza nella stringa di input.Indicates whether the regular expression finds a match in the input string.

Overload

IsMatch(String) IsMatch(String) IsMatch(String) IsMatch(String)

Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in una stringa di input specificata.Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32)

Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza nella stringa di input specificata, a partire dalla posizione iniziale specificata nella stringa.Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

IsMatch(String, String) IsMatch(String, String) IsMatch(String, String) IsMatch(String, String)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata.Indicates whether the specified regular expression finds a match in the specified input string.

IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate e l'intervallo di timeout.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

IsMatch(String) IsMatch(String) IsMatch(String) IsMatch(String)

Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in una stringa di input specificata.Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

public:
 bool IsMatch(System::String ^ input);
public bool IsMatch (string input);
member this.IsMatch : string -> bool
Public Function IsMatch (input As String) As Boolean

Parametri

input
String String String String

Stringa nella quale cercare una corrispondenza.The string to search for a match.

Restituisce

true se l'espressione regolare individua una corrispondenza; in caso contrario, false.true if the regular expression finds a match; otherwise, false.

Eccezioni

Si è verificato un timeout.A time-out occurred. Per altre informazioni sui timeout, vedere la sezione Osservazioni.For more information about time-outs, see the Remarks section.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del IsMatch(String) metodo per determinare se una stringa è un numero di parte valido.The following example illustrates the use of the IsMatch(String) method to determine whether a string is a valid part number. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. Il secondo set, costituito da tre caratteri, deve essere numerico.The second set, which consists of three characters, must be numeric. Il terzo set, composto da quattro caratteri, deve contenere tre caratteri numerici seguiti da un carattere alfanumerico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      Regex rgx = new Regex(@"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           rgx.IsMatch(partNumber) ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim rgx As New Regex("^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(rgx.IsMatch(partNumber), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

Il criterio di ricerca di espressioni regolari è:The regular expression pattern is:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

Nella tabella seguente è illustrata l'interpretazione del criterio di ricerca di espressioni regolari.The following table shows how the regular expression pattern is interpreted.

ModelloPattern DescriptionDescription
^ Inizia la corrispondenza all'inizio della riga.Begin the match at the beginning of the line.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corrisponde a due caratteri numerici.Match two numeric characters.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Trova la corrispondenza con un segno meno.Match a hyphen.
\d{3} Corrisponde esattamente a tre caratteri numerici.Match exactly three numeric characters.
(-\d{3}){2} Trovare un trattino seguito da tre caratteri numerici e trovare la corrispondenza con due occorrenze di questo modello.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Termina la corrispondenza alla fine della riga.End the match at the end of the line.

Commenti

Il IsMatch metodo viene in genere usato per convalidare una stringa o per assicurarsi che una stringa sia conforme a un modello specifico senza recuperare tale stringa per la manipolazione successiva.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la manipolazione successiva, Match chiamare Matches il metodo o.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

L' RegexMatchTimeoutException eccezione viene generata se il tempo di esecuzione dell'operazione di corrispondenza supera l'intervallo di timeout specificato Regex.Regex(String, RegexOptions, TimeSpan) dal costruttore.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. Se non si imposta un intervallo di timeout quando si chiama il costruttore, viene generata un'eccezione se l'operazione supera un valore di timeout stabilito per il dominio dell'applicazione in cui viene creato l' Regex oggetto.If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. Se non viene definito alcun timeout nella chiamata del Regex costruttore o nelle proprietà del dominio dell'applicazione oppure se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.If no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Vedi anche

IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32) IsMatch(String, Int32)

Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza nella stringa di input specificata, a partire dalla posizione iniziale specificata nella stringa.Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

public:
 bool IsMatch(System::String ^ input, int startat);
public bool IsMatch (string input, int startat);
member this.IsMatch : string * int -> bool
Public Function IsMatch (input As String, startat As Integer) As Boolean

Parametri

input
String String String String

Stringa nella quale cercare una corrispondenza.The string to search for a match.

startat
Int32 Int32 Int32 Int32

Posizione del carattere dalla quale iniziare la ricerca.The character position at which to start the search.

Restituisce

true se l'espressione regolare individua una corrispondenza; in caso contrario, false.true if the regular expression finds a match; otherwise, false.

Eccezioni

startat è minore di zero o maggiore della lunghezza di input.startat is less than zero or greater than the length of input.

Si è verificato un timeout.A time-out occurred. Per altre informazioni sui timeout, vedere la sezione Osservazioni.For more information about time-outs, see the Remarks section.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del IsMatch(String, Int32) metodo per determinare se una stringa è un numero di parte valido.The following example illustrates the use of the IsMatch(String, Int32) method to determine whether a string is a valid part number. Cerca un numero di parte che segue i due punti (:) carattere in una stringa.It searches for a part number that follows a colon (:) character in a string. Il IndexOf(Char) metodo viene utilizzato per determinare la posizione del carattere dei due punti, che viene quindi passato IsMatch(String, Int32) al metodo.The IndexOf(Char) method is used to determine the position of the colon character, which is then passed to the IsMatch(String, Int32) method. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. Il secondo set, costituito da tre caratteri, deve essere numerico.The second set, which consists of three characters, must be numeric. Il terzo set, composto da quattro caratteri, deve contenere tre caratteri numerici seguiti da un carattere alfanumerico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", 
                              "_A90-123-129X", "123K-000-1230", 
                              "SKU: 0919-2893-1256" };
      Regex rgx = new Regex(@"[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
      {
         int start = partNumber.IndexOf(':');
         if (start >= 0)
         {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              rgx.IsMatch(partNumber, start) ? "is" : "is not");
         }
         else
         {
            Console.WriteLine("Cannot find starting position in {0}.", partNumber);
         }
      }
   }
}
// The example displays the following output:
//       Part Number: 1298-673-4192 is a valid part number.
//       Part No: A08Z-931-468A is a valid part number.
//       Cannot find starting position in _A90-123-129X.
//       Cannot find starting position in 123K-000-1230.
//       SKU: 0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", _
                                      "_A90-123-129X", "123K-000-1230", _
                                      "SKU: 0919-2893-1256" }
      Dim rgx As New Regex("[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Dim start As Integer = partNumber.IndexOf(":"c)
         If start >= 0 Then 
            Console.WriteLine("{0} {1} a valid part number.", _
                              partNumber, _
                              IIF(rgx.IsMatch(partNumber, start), "is", "is not"))
         Else
            Console.WriteLine("Cannot find starting position in {0}.", partNumber)
         End If                              
      Next
   End Sub
End Module
' The example displays the following output:
'       Part Number: 1298-673-4192 is a valid part number.
'       Part No: A08Z-931-468A is a valid part number.
'       Cannot find starting position in _A90-123-129X.
'       Cannot find starting position in 123K-000-1230.
'       SKU: 0919-2893-1256 is not a valid part number.

Il criterio di ricerca di espressioni regolari è:The regular expression pattern is:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

Nella tabella seguente è illustrata l'interpretazione del criterio di ricerca di espressioni regolari.The following table shows how the regular expression pattern is interpreted.

ModelloPattern DescriptionDescription
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corrisponde a due caratteri numerici.Match two numeric characters.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Trova la corrispondenza con un segno meno.Match a hyphen.
\d{3} Corrisponde esattamente a tre caratteri numerici.Match exactly three numeric characters.
(-\d{3}){2} Trovare un trattino seguito da tre caratteri numerici e trovare la corrispondenza con due occorrenze di questo modello.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Termina la corrispondenza alla fine della riga.End the match at the end of the line.

Commenti

Il IsMatch metodo viene in genere usato per convalidare una stringa o per assicurarsi che una stringa sia conforme a un modello specifico senza recuperare tale stringa per la manipolazione successiva.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la manipolazione successiva, Match chiamare Matches il metodo o.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

L' RegexMatchTimeoutException eccezione viene generata se il tempo di esecuzione dell'operazione di corrispondenza supera l'intervallo di timeout specificato Regex.Regex(String, RegexOptions, TimeSpan) dal costruttore.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. Se non si imposta un intervallo di timeout quando si chiama il costruttore, viene generata un'eccezione se l'operazione supera un valore di timeout stabilito per il dominio dell'applicazione in cui viene creato l' Regex oggetto.If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. Se non viene definito alcun timeout nella chiamata del Regex costruttore o nelle proprietà del dominio dell'applicazione oppure se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.If no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Vedi anche

IsMatch(String, String) IsMatch(String, String) IsMatch(String, String) IsMatch(String, String)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata.Indicates whether the specified regular expression finds a match in the specified input string.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern);
public static bool IsMatch (string input, string pattern);
static member IsMatch : string * string -> bool
Public Shared Function IsMatch (input As String, pattern As String) As Boolean

Parametri

input
String String String String

Stringa nella quale cercare una corrispondenza.The string to search for a match.

pattern
String String String String

Criterio di espressione regolare di cui trovare la corrispondenza.The regular expression pattern to match.

Restituisce

true se l'espressione regolare individua una corrispondenza; in caso contrario, false.true if the regular expression finds a match; otherwise, false.

Eccezioni

Si è verificato un errore di analisi dell'espressione regolare.A regular expression parsing error occurred.

Si è verificato un timeout.A time-out occurred. Per altre informazioni sui timeout, vedere la sezione Osservazioni.For more information about time-outs, see the Remarks section.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del IsMatch(String, String) metodo per determinare se una stringa è un numero di parte valido.The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. Il secondo set, costituito da tre caratteri, deve essere numerico.The second set, which consists of three characters, must be numeric. Il terzo set, composto da quattro caratteri, deve contenere tre caratteri numerici seguiti da un carattere alfanumerico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern) ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

Il criterio di ricerca di espressioni regolari è:The regular expression pattern is:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$  

Nella tabella seguente è illustrata l'interpretazione del criterio di ricerca di espressioni regolari.The following table shows how the regular expression pattern is interpreted.

ModelloPattern DescriptionDescription
^ Inizia la corrispondenza all'inizio della riga.Begin the match at the beginning of the line.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corrisponde a due caratteri numerici.Match two numeric characters.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Trova la corrispondenza con un segno meno.Match a hyphen.
\d{3} Corrisponde esattamente a tre caratteri numerici.Match exactly three numeric characters.
(-\d{3}){2} Trovare un trattino seguito da tre caratteri numerici e trovare la corrispondenza con due occorrenze di questo modello.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corrisponde a un singolo carattere alfabeticoa ( z da A o Zverso) o a un carattere numerico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Termina la corrispondenza alla fine della riga.End the match at the end of the line.

Commenti

Il IsMatch metodo viene in genere usato per convalidare una stringa o per assicurarsi che una stringa sia conforme a un modello specifico senza recuperare tale stringa per la manipolazione successiva.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la manipolazione successiva, Match chiamare Matches il metodo o.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

Il metodo IsMatch(String, String) statico equivale alla costruzione di un Regex oggetto con il criterio di espressione regolare specificato da pattern e alla chiamata IsMatch(String) del metodo di istanza.The static IsMatch(String, String) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and calling the IsMatch(String) instance method. Questo criterio di espressione regolare viene memorizzato nella cache per il recupero rapido da parte del motore delle espressioni regolari.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

Il pattern parametro è costituito da elementi del linguaggio di espressioni regolari che descrivono simbolicamente la stringa di cui trovare la corrispondenza.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Per ulteriori informazioni sulle espressioni regolari, vedere .NET Framework espressioni regolari e linguaggio di espressioni regolari -riferimento rapido.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

L' RegexMatchTimeoutException eccezione viene generata se il tempo di esecuzione dell'operazione di corrispondenza supera l'intervallo di timeout specificato per il dominio dell'applicazione in cui viene chiamato il metodo.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified for the application domain in which the method is called. Se non viene definito alcun timeout nelle proprietà del dominio dell'applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Note per i chiamanti

Si verifica il timeout di questo metodo dopo un intervallo uguale al valore di timeout predefinito del dominio dell'applicazione in cui viene chiamato il metodo.This method times out after an interval that is equal to the default time-out value of the application domain in which the method is called. Se non è stato definito un valore di timeout per il dominio dell'applicazione, viene usato InfiniteMatchTimeoutil valore, che impedisce il timeout del metodo.If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. Il metodo statico consigliato per verificare una corrispondenza del criterio è IsMatch(String, String, RegexOptions, TimeSpan), che consente di impostare l'intervallo di timeout.The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

Vedi anche

IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions) IsMatch(String, String, RegexOptions)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static bool IsMatch (string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member IsMatch : string * string * System.Text.RegularExpressions.RegexOptions -> bool
Public Shared Function IsMatch (input As String, pattern As String, options As RegexOptions) As Boolean

Parametri

input
String String String String

Stringa nella quale cercare una corrispondenza.The string to search for a match.

pattern
String String String String

Criterio di espressione regolare di cui trovare la corrispondenza.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.A bitwise combination of the enumeration values that provide options for matching.

Restituisce

true se l'espressione regolare individua una corrispondenza; in caso contrario, false.true if the regular expression finds a match; otherwise, false.

Eccezioni

Si è verificato un errore di analisi dell'espressione regolare.A regular expression parsing error occurred.

Si è verificato un timeout.A time-out occurred. Per altre informazioni sui timeout, vedere la sezione Osservazioni.For more information about time-outs, see the Remarks section.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del IsMatch(String, String) metodo per determinare se una stringa è un numero di parte valido.The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. Il secondo set, costituito da tre caratteri, deve essere numerico.The second set, which consists of three characters, must be numeric. Il terzo set, composto da quattro caratteri, deve contenere tre caratteri numerici seguiti da un carattere alfanumerico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468a", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                         ? "is" : "is not");
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                               "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

Il criterio di ricerca di espressioni regolari è:The regular expression pattern is:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$  

Nella tabella seguente è illustrata l'interpretazione del criterio di ricerca di espressioni regolari.The following table shows how the regular expression pattern is interpreted.

ModelloPattern DescriptionDescription
^ Inizia la ricerca della corrispondenza all'inizio della stringa.Begin the match at the beginning of the string.
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
\d{2} Corrisponde a due caratteri numerici.Match two numeric characters.
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
- Trova la corrispondenza con un segno meno.Match a hyphen.
\d{3} Corrisponde esattamente a tre caratteri numerici.Match exactly three numeric characters.
(-\d{3}){2} Individuare un trattino seguito da tre caratteri numerici le due occorrenze di questo modello.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern..
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
$ Terminare la corrispondenza alla fine della stringa.End the match at the end of the string.

La chiamata al options RegexOptions.IgnoreCase metodo con il parametro impostato su equivale alla definizione dell'espressione regolare seguente: IsMatch(String, String, RegexOptions)Calling the IsMatch(String, String, RegexOptions) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]  

Per il confronto, vedere l'esempio relativo IsMatch(String, String) al metodo.For comparison, see the example for the IsMatch(String, String) method.

Commenti

Il IsMatch metodo viene in genere usato per convalidare una stringa o per assicurarsi che una stringa sia conforme a un modello specifico senza recuperare tale stringa per la manipolazione successiva.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la manipolazione successiva, Match chiamare Matches il metodo o.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

Il metodo IsMatch(String, String, RegexOptions) statico equivale a costruire un Regex oggetto con il criterio di espressione regolare specificato da pattern e le opzioni di espressione regolare specificate da options e chiamando l' IsMatch(String) istanza Metodo.The static IsMatch(String, String, RegexOptions) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. Questo criterio di espressione regolare viene memorizzato nella cache per il recupero rapido da parte del motore delle espressioni regolari.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

Il pattern parametro è costituito da elementi del linguaggio di espressioni regolari che descrivono simbolicamente la stringa di cui trovare la corrispondenza.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Per ulteriori informazioni sulle espressioni regolari, vedere .NET Framework espressioni regolari e linguaggio di espressioni regolari -riferimento rapido.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

L' RegexMatchTimeoutException eccezione viene generata se il tempo di esecuzione dell'operazione di corrispondenza supera l'intervallo di timeout specificato per il dominio dell'applicazione in cui viene chiamato il metodo.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified for the application domain in which the method is called. Se non viene definito alcun timeout nelle proprietà del dominio dell'applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Note per i chiamanti

Si verifica il timeout di questo metodo dopo un intervallo uguale al valore di timeout predefinito del dominio dell'applicazione in cui viene chiamato.This method times out after an interval that is equal to the default time-out value of the application domain in which it is called. Se non è stato definito un valore di timeout per il dominio dell'applicazione, viene usato InfiniteMatchTimeoutil valore, che impedisce il timeout del metodo.If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. Il metodo statico consigliato per verificare una corrispondenza del criterio è IsMatch(String, String, RegexOptions, TimeSpan), che consente di impostare l'intervallo di timeout.The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

Vedi anche

IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan) IsMatch(String, String, RegexOptions, TimeSpan)

Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate e l'intervallo di timeout.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static bool IsMatch (string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member IsMatch : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> bool
Public Shared Function IsMatch (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Boolean

Parametri

input
String String String String

Stringa nella quale cercare una corrispondenza.The string to search for a match.

pattern
String String String String

Criterio di espressione regolare di cui trovare la corrispondenza.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.A bitwise combination of the enumeration values that provide options for matching.

matchTimeout
TimeSpan TimeSpan TimeSpan TimeSpan

Intervallo di timeout o InfiniteMatchTimeout per indicare che per il metodo non è previsto un timeout.A time-out interval, or InfiniteMatchTimeout to indicate that the method should not time out.

Restituisce

true se l'espressione regolare individua una corrispondenza; in caso contrario, false.true if the regular expression finds a match; otherwise, false.

Eccezioni

Si è verificato un errore di analisi dell'espressione regolare.A regular expression parsing error occurred.

options non è un valore valido di RegexOptions.options is not a valid RegexOptions value.

In alternativa-or- matchTimeout è negativo, zero o maggiore di circa 24 giorni.matchTimeout is negative, zero, or greater than approximately 24 days.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del IsMatch(String, String, RegexOptions, TimeSpan) metodo per determinare se una stringa è un numero di parte valido.The following example illustrates the use of the IsMatch(String, String, RegexOptions, TimeSpan) method to determine whether a string is a valid part number. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. Il secondo set, costituito da tre caratteri, deve essere numerico.The second set, which consists of three characters, must be numeric. Il terzo set, composto da quattro caratteri, deve contenere tre caratteri numerici seguiti da un carattere alfanumerico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character. La corrispondenza del criterio di espressione regolare deve includere una ricerca minima nella stringa di input, pertanto il metodo imposta un intervallo di timeout di 500 millisecondi.Matching the regular expression pattern should involve minimal searching through the input string, so the method sets a time-out interval of 500 milliseconds.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468a", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };
      string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
      foreach (string partNumber in partNumbers)
         try {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                            ? "is" : "is not", TimeSpan.FromMilliseconds(500));
         }
         catch (RegexMatchTimeoutException e) {
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input);
         }
   }
}
// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", 
                                      "_A90-123-129X", "12345-KKA-1230", 
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Try
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, _
                              IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                                  "is", "is not"),
                              TimeSpan.FromMilliseconds(500))
         Catch e As RegexMatchTimeoutException
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

Il criterio di ricerca di espressioni regolari è:The regular expression pattern is:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$  

Nella tabella seguente è illustrata l'interpretazione del criterio di ricerca di espressioni regolari.The following table shows how the regular expression pattern is interpreted.

ModelloPattern DescriptionDescription
^ Inizia la ricerca della corrispondenza all'inizio della stringa.Begin the match at the beginning of the string.
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
\d{2} Corrisponde a due caratteri numerici.Match two numeric characters.
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
- Trova la corrispondenza con un segno meno.Match a hyphen.
\d{3} Corrisponde esattamente a tre caratteri numerici.Match exactly three numeric characters.
(-\d{3}){2} Trovare un trattino seguito da tre caratteri numerici e trovare la corrispondenza con due occorrenze di questo modello.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[A-Z0-9] Trovare la corrispondenza con A Zqualsiasi carattere alfabetico compreso tra o qualsiasi carattere numerico.Match any single alphabetic character from A through Z, or any numeric character.
$ Terminare la corrispondenza alla fine della stringa.End the match at the end of the string.

La chiamata al options RegexOptions.IgnoreCase metodo con il parametro impostato su equivale alla definizione dell'espressione regolare seguente: IsMatch(String, String, RegexOptions, TimeSpan)Calling the IsMatch(String, String, RegexOptions, TimeSpan) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]  

Per il confronto, vedere l'esempio relativo IsMatch(String, String) al metodo.For comparison, see the example for the IsMatch(String, String) method.

Commenti

Il IsMatch metodo viene in genere usato per convalidare una stringa o per assicurarsi che una stringa sia conforme a un modello specifico senza recuperare tale stringa per la manipolazione successiva.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la manipolazione successiva, Match chiamare Matches il metodo o.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

Il metodo IsMatch(String, String, RegexOptions, TimeSpan) statico equivale a costruire un Regex oggetto con il criterio di espressione regolare specificato da pattern e le opzioni di espressione regolare specificate da options e chiamando l' IsMatch(String) istanza Metodo.The static IsMatch(String, String, RegexOptions, TimeSpan) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. Questo criterio di espressione regolare viene memorizzato nella cache per il recupero rapido da parte del motore delle espressioni regolari.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

Il pattern parametro è costituito da elementi del linguaggio di espressioni regolari che descrivono simbolicamente la stringa di cui trovare la corrispondenza.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Per ulteriori informazioni sulle espressioni regolari, vedere .NET Framework espressioni regolari e linguaggio di espressioni regolari -riferimento rapido.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Il matchTimeout parametro specifica per quanto tempo un metodo di criteri di ricerca deve provare a trovare una corrispondenza prima del timeout. L'impostazione di un intervallo di timeout impedisce la visualizzazione di espressioni regolari basate su un backtracking eccessivo per interrompere la risposta quando elaborano un input che contiene le corrispondenze vicine.The matchTimeout parameter specifies how long a pattern matching method should try to find a match before it times out. Setting a time-out interval prevents regular expressions that rely on excessive backtracking from appearing to stop responding when they process input that contains near matches. Per altre informazioni, vedere procedure consigliate per le espressioni regolari e il backtracking. For more information, see Best Practices for Regular Expressions and Backtracking. Se non viene trovata alcuna corrispondenza in tale intervallo di tempo, il metodo RegexMatchTimeoutException genera un'eccezione.If no match is found in that time interval, the method throws a RegexMatchTimeoutException exception. matchTimeoutesegue l'override di qualsiasi valore di timeout predefinito definito per il dominio dell'applicazione in cui viene eseguito il metodo.matchTimeout overrides any default time-out value defined for the application domain in which the method executes.

Note per i chiamanti

Si consiglia di impostare il matchTimeout parametro su un valore appropriato, ad esempio due secondi.We recommend that you set the matchTimeout parameter to an appropriate value, such as two seconds. Se si disabilitano i timeout specificando InfiniteMatchTimeout, il motore delle espressioni regolari offre prestazioni leggermente migliori.If you disable time-outs by specifying InfiniteMatchTimeout, the regular expression engine offers slightly better performance. Tuttavia, è consigliabile disabilitare i timeout solo nelle condizioni seguenti:However, you should disable time-outs only under the following conditions: -Quando l'input elaborato da un'espressione regolare è derivato da un'origine nota e attendibile oppure è costituito da testo statico.- When the input processed by a regular expression is derived from a known and trusted source or consists of static text. Questo esclude il testo che è stato inserito dinamicamente dagli utenti.This excludes text that has been dynamically input by users.

-Quando il modello di espressione regolare è stato testato accuratamente per assicurarsi che gestisca in modo efficiente le corrispondenze, non corrispondenze e quasi corrispondenze.- When the regular expression pattern has been thoroughly tested to ensure that it efficiently handles matches, non-matches, and near matches.

-Quando il criterio di espressione regolare non contiene elementi del linguaggio noti per causare un backtracking eccessivo durante l'elaborazione di una corrispondenza vicina.- When the regular expression pattern contains no language elements that are known to cause excessive backtracking when processing a near match.

Vedi anche

Si applica a