Regex.IsMatch Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica se l'espressione regolare individua una corrispondenza nella stringa di input.
Overload
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. |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) |
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato, usando le opzioni di corrispondenza specificate e l'intervallo di timeout specificati. |
IsMatch(String, String, RegexOptions) |
Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate. |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions) |
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato usando le opzioni di corrispondenza specificate. |
IsMatch(String, String) |
Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata. |
IsMatch(ReadOnlySpan<Char>, String) |
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato. |
IsMatch(ReadOnlySpan<Char>, Int32) |
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in un intervallo di input specificato. |
IsMatch(String) |
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in una stringa di input specificata. |
IsMatch(ReadOnlySpan<Char>) |
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in un intervallo di input specificato. |
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. |
IsMatch(String, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
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.
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
Stringa nella quale cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
- options
- RegexOptions
Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.
- matchTimeout
- TimeSpan
Intervallo di timeout o InfiniteMatchTimeout per indicare che per il metodo non è previsto un timeout.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
input
o pattern
è null
.
options
non è un valore valido di RegexOptions.
-oppure-
matchTimeout
è negativo, zero o maggiore di circa 24 giorni.
Si è verificato un timeout.
Esempio
Nell'esempio seguente viene illustrato l'uso IsMatch(String, String, RegexOptions, TimeSpan) del metodo per determinare se una stringa è un numero di parte valido. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini. Il primo set, contenente quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico. Il secondo set, costituito da tre caratteri, deve essere numerico. Il terzo set, costituito da quattro caratteri, deve avere tre caratteri numerici seguiti da un carattere alfanumerico. La corrispondenza del modello di espressione regolare deve comportare una ricerca minima tramite la stringa di input, quindi il metodo imposta un intervallo di timeout di 500 millisecondi.
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 è:
^[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.
Modello | Descrizione |
---|---|
^ |
Inizia la ricerca della corrispondenza all'inizio della stringa. |
[A-Z0-9] |
Corrisponde a qualsiasi carattere alfabetico singolo da A tramite Z o qualsiasi carattere numerico. |
\d{2} |
Corrisponde a due caratteri numerici. |
[A-Z0-9] |
Corrisponde a qualsiasi carattere alfabetico singolo da A tramite Z o qualsiasi carattere numerico. |
- |
Trova la corrispondenza con un segno meno. |
\d{3} |
Corrisponde esattamente a tre caratteri numerici. |
(-\d{3}){2} |
Trovare un trattino seguito da tre caratteri numerici e trovare due occorrenze di questo modello. |
[A-Z0-9] |
Corrisponde a qualsiasi carattere alfabetico singolo da A tramite Z o qualsiasi carattere numerico. |
$ |
Terminare la corrispondenza alla fine della stringa. |
La chiamata al metodo con il IsMatch(String, String, RegexOptions, TimeSpan) parametro impostato su RegexOptions.IgnoreCase equivale a definire l'espressione options
regolare seguente:
[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]
Per il confronto, vedere l'esempio per il IsMatch(String, String) metodo .
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. Se si vuole determinare se una o più stringhe corrispondono a un modello di espressione regolare e quindi recuperarle per la modifica successiva, chiamare il Match metodo o Matches .
Il metodo statico IsMatch(String, String, RegexOptions, TimeSpan) equivale a costruire un Regex oggetto con il modello di espressione regolare specificato da pattern
e le opzioni di espressione regolari specificate options
e chiamando il metodo di IsMatch(String) istanza. Questo modello di espressione regolare viene memorizzato nella cache per il recupero rapido dal motore di espressioni regolari.
Il pattern
parametro è costituito da elementi del linguaggio delle espressioni regolari che descrivono simbolicamente la stringa da corrispondere. Per altre informazioni sulle espressioni regolari, vedere Espressioni regolari .NET e Linguaggio di espressione regolare - Riferimento rapido.
Il matchTimeout
parametro specifica la durata di un metodo di corrispondenza del modello per cercare una corrispondenza prima del timeout. L'impostazione di un intervallo di timeout impedisce alle espressioni regolari che si basano su un backtracking eccessivo di apparire per interrompere la risposta quando elaborano l'input che contiene corrispondenze vicine. Per altre informazioni, vedere Procedure consigliate per espressioni regolari e Backtracking. Se non viene trovata alcuna corrispondenza nell'intervallo di tempo, il metodo genera un'eccezione RegexMatchTimeoutException . matchTimeout
esegue l'override di qualsiasi valore di timeout predefinito definito per il dominio dell'applicazione in cui viene eseguito il metodo.
Note per i chiamanti
È consigliabile impostare il matchTimeout
parametro su un valore appropriato, ad esempio due secondi. Se si disabilitano i timeout specificando InfiniteMatchTimeout, il motore di espressioni regolari offre prestazioni leggermente migliori. Tuttavia, è consigliabile disabilitare i timeout solo in base alle condizioni seguenti:
Quando l'input elaborato da un'espressione regolare deriva da un'origine nota e attendibile o è costituita da testo statico. Ciò esclude il testo che è stato immesso dinamicamente dagli utenti.
Quando il modello di espressione regolare è stato testato accuratamente per garantire che gestisca in modo efficiente corrispondenze, non corrispondenze e corrispondenze vicine.
Quando il modello di espressione regolare non contiene elementi del linguaggio noti per causare un backtracking eccessivo durante l'elaborazione di una corrispondenza vicina.
Vedi anche
Si applica a
IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato, usando le opzioni di corrispondenza specificate e l'intervallo di timeout specificati.
public:
static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member IsMatch : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Boolean
Parametri
- input
- ReadOnlySpan<Char>
Intervallo da cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
- options
- RegexOptions
Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.
- matchTimeout
- TimeSpan
Intervallo di timeout o InfiniteMatchTimeout per indicare che per il metodo non è previsto un timeout.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
pattern
è null
Si è verificato un timeout.
options
non è in un valore valido RegexOptions o matchTimeout
è negativo, zero o maggiore di circa 24 giorni.
Si applica a
IsMatch(String, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata usando le opzioni di corrispondenza specificate.
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
Stringa nella quale cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
- options
- RegexOptions
Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
input
o pattern
è null
.
options
non è un valore valido di RegexOptions.
Si è verificato un timeout. Per altre informazioni sui timeout, vedere la sezione Osservazioni.
Esempio
Nell'esempio seguente viene illustrato l'uso IsMatch(String, String) del metodo per determinare se una stringa è un numero di parte valido. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini. Il primo set, contenente quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico. Il secondo set, costituito da tre caratteri, deve essere numerico. Il terzo set, costituito da quattro caratteri, deve avere tre caratteri numerici seguiti da un carattere alfanumerico.
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 è:
^[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.
Modello | Descrizione |
---|---|
^ |
Inizia la ricerca della corrispondenza all'inizio della stringa. |
[A-Z0-9] |
Corrisponde a qualsiasi carattere alfabetico singolo da A tramite Z o qualsiasi carattere numerico. |
\d{2} |
Corrisponde a due caratteri numerici. |
[A-Z0-9] |
Trova la corrispondenza con qualsiasi carattere A alfabetico da a Z o qualsiasi carattere numerico. |
- |
Trova la corrispondenza con un segno meno. |
\d{3} |
Trova esattamente tre caratteri numerici. |
(-\d{3}){2} |
Individuare un trattino seguito da tre caratteri numerici le due occorrenze di questo modello. |
[A-Z0-9] |
Trova la corrispondenza con qualsiasi carattere A alfabetico da a Z o qualsiasi carattere numerico. |
$ |
Terminare la corrispondenza alla fine della stringa. |
La chiamata al IsMatch(String, String, RegexOptions) metodo con il options
parametro impostato su RegexOptions.IgnoreCase equivale alla definizione dell'espressione regolare seguente:
[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]
Per il confronto, vedere l'esempio per il IsMatch(String, String) metodo .
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. Se si desidera determinare se una o più stringhe corrispondono a un criterio di espressione regolare e quindi recuperarle per una successiva manipolazione, chiamare il Match metodo o Matches .
Il metodo statico IsMatch(String, String, RegexOptions) 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 il metodo di IsMatch(String) istanza. Questo modello di espressione regolare viene memorizzato nella cache per il recupero rapido dal motore delle espressioni regolari.
Il pattern
parametro è costituito da elementi del linguaggio delle espressioni regolari che descrivono simbolicamente la stringa da trovare. Per altre informazioni sulle espressioni regolari, vedere Espressioni regolari .NET e Linguaggio di espressioni regolari - Riferimento rapido.
L'eccezione RegexMatchTimeoutException viene generata se il tempo di esecuzione dell'operazione corrispondente supera l'intervallo di timeout specificato per il dominio dell'applicazione in cui viene chiamato il metodo . Se non viene definito alcun timeout nelle proprietà del dominio applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.
Note per i chiamanti
Questo metodo viene eseguito il timeout dopo un intervallo uguale al valore di timeout predefinito del dominio dell'applicazione in cui viene chiamato. Se un valore di timeout non è stato definito per il dominio dell'applicazione, viene usato il valore InfiniteMatchTimeout, che impedisce il timeout del metodo. Il metodo statico consigliato per la verifica di una corrispondenza del modello è IsMatch(String, String, RegexOptions, TimeSpan), che consente di impostare l'intervallo di timeout.
Vedi anche
Si applica a
IsMatch(ReadOnlySpan<Char>, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato, utilizzando le opzioni di corrispondenza specificate.
public:
static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member IsMatch : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions) As Boolean
Parametri
- input
- ReadOnlySpan<Char>
Intervallo in cui cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
- options
- RegexOptions
Combinazione bit per bit dei valori di enumerazione che forniscono le opzioni per la corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
pattern
è null
Si è verificato un timeout.
options
non è in un valore valido RegexOptions .
Si applica a
IsMatch(String, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata trova una corrispondenza nella stringa di input specificata.
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
Stringa nella quale cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
input
o pattern
è null
.
Si è verificato un timeout. Per altre informazioni sui timeout, vedere la sezione Osservazioni.
Esempio
Nell'esempio seguente viene illustrato l'uso del IsMatch(String, String) metodo per determinare se una stringa è un numero di parte valido. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico. Il secondo set, costituito da tre caratteri, deve essere numerico. Il terzo set, costituito da quattro caratteri, deve avere tre caratteri numerici seguiti da un carattere alfanumerico.
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 è:
^[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.
Modello | Descrizione |
---|---|
^ |
Iniziare la corrispondenza all'inizio della riga. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
\d{2} |
Trova la corrispondenza con due caratteri numerici. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
- |
Trova la corrispondenza con un segno meno. |
\d{3} |
Trova esattamente tre caratteri numerici. |
(-\d{3}){2} |
Trovare un trattino seguito da tre caratteri numerici e trovare due occorrenze di questo modello. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
$ |
Terminare la corrispondenza alla fine della riga. |
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. Se si desidera determinare se una o più stringhe corrispondono a un criterio di espressione regolare e quindi recuperarle per una successiva manipolazione, chiamare il Match metodo o Matches .
Il metodo statico IsMatch(String, String) equivale a costruire un Regex oggetto con il modello di espressione regolare specificato da pattern
e chiamando il metodo di IsMatch(String) istanza. Questo modello di espressione regolare viene memorizzato nella cache per il recupero rapido dal motore delle espressioni regolari.
Il pattern
parametro è costituito da elementi del linguaggio delle espressioni regolari che descrivono simbolicamente la stringa da trovare. Per altre informazioni sulle espressioni regolari, vedere Espressioni regolari .NET e Linguaggio di espressioni regolari - Riferimento rapido.
L'eccezione RegexMatchTimeoutException viene generata se il tempo di esecuzione dell'operazione corrispondente supera l'intervallo di timeout specificato per il dominio dell'applicazione in cui viene chiamato il metodo . Se non viene definito alcun timeout nelle proprietà del dominio applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.
Note per i chiamanti
Questo metodo si verifica il timeout dopo un intervallo uguale al valore di timeout predefinito del dominio applicazione in cui viene chiamato il metodo . Se non è stato definito un valore di timeout per il dominio applicazione, viene utilizzato il valore InfiniteMatchTimeout, che impedisce il timeout del metodo. Il metodo statico consigliato per verificare una corrispondenza del criterio è IsMatch(String, String, RegexOptions, TimeSpan), che consente di impostare l'intervallo di timeout.
Vedi anche
Si applica a
IsMatch(ReadOnlySpan<Char>, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata trova una corrispondenza nell'intervallo di input specificato.
public:
static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern);
static member IsMatch : ReadOnlySpan<char> * string -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String) As Boolean
Parametri
- input
- ReadOnlySpan<Char>
Intervallo in cui cercare una corrispondenza.
- pattern
- String
Criterio di espressione regolare di cui trovare la corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un errore di analisi dell'espressione regolare.
pattern
è null
Si è verificato un timeout.
Si applica a
IsMatch(ReadOnlySpan<Char>, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in un intervallo di input specificato.
public:
bool IsMatch(ReadOnlySpan<char> input, int startat);
public bool IsMatch (ReadOnlySpan<char> input, int startat);
member this.IsMatch : ReadOnlySpan<char> * int -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char), startat As Integer) As Boolean
Parametri
- input
- ReadOnlySpan<Char>
Intervallo in cui cercare una corrispondenza.
- startat
- Int32
Posizione del carattere in base zero dalla quale iniziare la ricerca.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un timeout.
Si applica a
IsMatch(String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in una stringa di input specificata.
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
Stringa nella quale cercare una corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
input
è null
.
Si è verificato un timeout. Per altre informazioni sui timeout, vedere la sezione Osservazioni.
Esempio
Nell'esempio seguente viene illustrato l'uso del IsMatch(String) metodo per determinare se una stringa è un numero di parte valido. L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico. Il secondo set, costituito da tre caratteri, deve essere numerico. Il terzo set, costituito da quattro caratteri, deve avere tre caratteri numerici seguiti da un carattere alfanumerico.
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 è:
^[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.
Modello | Descrizione |
---|---|
^ |
Iniziare la corrispondenza all'inizio della riga. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
\d{2} |
Trova la corrispondenza con due caratteri numerici. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
- |
Trova la corrispondenza con un segno meno. |
\d{3} |
Trova esattamente tre caratteri numerici. |
(-\d{3}){2} |
Trovare un trattino seguito da tre caratteri numerici e trovare due occorrenze di questo modello. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
$ |
Terminare la corrispondenza alla fine della riga. |
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. Se si desidera determinare se una o più stringhe corrispondono a un criterio di espressione regolare e quindi recuperarle per una successiva manipolazione, chiamare il Match metodo o Matches .
L'eccezione RegexMatchTimeoutException viene generata se il tempo di esecuzione dell'operazione corrispondente supera l'intervallo di timeout specificato dal Regex.Regex(String, RegexOptions, TimeSpan) costruttore. Se non si imposta un intervallo di timeout quando si chiama il costruttore, l'eccezione viene generata se l'operazione supera qualsiasi valore di timeout stabilito per il dominio applicazione in cui viene creato l'oggetto Regex . Se non viene definito alcun timeout nella chiamata al Regex costruttore o nelle proprietà del dominio applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.
Vedi anche
Si applica a
IsMatch(ReadOnlySpan<Char>)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indica se l'espressione regolare specificata nel costruttore Regex trova una corrispondenza in un intervallo di input specificato.
public:
bool IsMatch(ReadOnlySpan<char> input);
public bool IsMatch (ReadOnlySpan<char> input);
member this.IsMatch : ReadOnlySpan<char> -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char)) As Boolean
Parametri
- input
- ReadOnlySpan<Char>
Intervallo in cui cercare una corrispondenza.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
Si è verificato un timeout.
Si applica a
IsMatch(String, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
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.
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
Stringa nella quale cercare una corrispondenza.
- startat
- Int32
Posizione del carattere dalla quale iniziare la ricerca.
Restituisce
true
se l'espressione regolare individua una corrispondenza; in caso contrario, false
.
Eccezioni
input
è null
.
startat
è minore di zero o maggiore della lunghezza di input
.
Si è verificato un timeout. Per altre informazioni sui timeout, vedere la sezione Osservazioni.
Esempio
Nell'esempio seguente viene illustrato l'uso del IsMatch(String, Int32) metodo per determinare se una stringa è un numero di parte valido. Cerca un numero di parte che segue due punti (:) carattere in una stringa. Il IndexOf(Char) metodo viene utilizzato per determinare la posizione del carattere due punti, che viene quindi passato al IsMatch(String, Int32) metodo . L'espressione regolare presuppone che il numero di parte abbia un formato specifico costituito da tre set di caratteri separati da trattini. Il primo set, che contiene quattro caratteri, deve essere costituito da un carattere alfanumerico seguito da due caratteri numerici seguiti da un carattere alfanumerico. Il secondo set, costituito da tre caratteri, deve essere numerico. Il terzo set, costituito da quattro caratteri, deve avere tre caratteri numerici seguiti da un carattere alfanumerico.
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 è:
[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.
Modello | Descrizione |
---|---|
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
\d{2} |
Trova la corrispondenza con due caratteri numerici. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
- |
Trova la corrispondenza con un segno meno. |
\d{3} |
Trova esattamente tre caratteri numerici. |
(-\d{3}){2} |
Trovare un trattino seguito da tre caratteri numerici e trovare due occorrenze di questo modello. |
[a-zA-Z0-9] |
Trova la corrispondenza con un singolo carattere alfabetico (a da o A a z Z ) o un carattere numerico. |
$ |
Terminare la corrispondenza alla fine della riga. |
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. Se si desidera determinare se una o più stringhe corrispondono a un criterio di espressione regolare e quindi recuperarle per una successiva manipolazione, chiamare il Match metodo o Matches .
Per altre informazioni su startat
, vedere la sezione Osservazioni di Match(String, Int32).
L'eccezione RegexMatchTimeoutException viene generata se il tempo di esecuzione dell'operazione corrispondente supera l'intervallo di timeout specificato dal Regex.Regex(String, RegexOptions, TimeSpan) costruttore. Se non si imposta un intervallo di timeout quando si chiama il costruttore, l'eccezione viene generata se l'operazione supera qualsiasi valore di timeout stabilito per il dominio applicazione in cui viene creato l'oggetto Regex . Se non viene definito alcun timeout nella chiamata al Regex costruttore o nelle proprietà del dominio applicazione o se il valore di timeout è Regex.InfiniteMatchTimeout, non viene generata alcuna eccezione.
Vedi anche
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per