Regex.IsMatch Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Indique si l’expression régulière trouve une correspondance dans la chaîne d’entrée.
Surcharges
IsMatch(String, String, RegexOptions, TimeSpan) |
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés. |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) |
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés. |
IsMatch(String, String, RegexOptions) |
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée, à l’aide des options de correspondance spécifiées. |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions) |
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée, à l’aide des options de correspondance spécifiées. |
IsMatch(String, String) |
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée. |
IsMatch(ReadOnlySpan<Char>, Int32) |
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une étendue d’entrée spécifiée. |
IsMatch(ReadOnlySpan<Char>, String) |
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée. |
IsMatch(String, Int32) |
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans la chaîne d’entrée spécifiée, en commençant à la position de départ spécifiée dans la chaîne. |
IsMatch(String) |
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une chaîne d’entrée spécifiée. |
IsMatch(ReadOnlySpan<Char>) |
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une étendue d’entrée spécifiée. |
IsMatch(String, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés.
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
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
- options
- RegexOptions
Combinaison de bits des valeurs d’énumération qui fournissent des options de correspondance.
- matchTimeout
- TimeSpan
Intervalle de délai d’attente ou InfiniteMatchTimeout pour indiquer que la méthode ne doit pas expirer.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
input
ou pattern
est null
.
options
n’est pas une valeur de RegexOptions valide.
-ou-
matchTimeout
est négatif, zéro ou supérieur à environ 24 jours.
Un délai d’attente s’est produit.
Exemples
L’exemple suivant illustre l’utilisation de la méthode IsMatch(String, String, RegexOptions, TimeSpan) pour déterminer si une chaîne est un numéro de partie valide. L’expression régulière suppose que le numéro de partie a un format spécifique qui se compose de trois jeux de caractères séparés par des traits d’union. Le premier jeu, qui contient quatre caractères, doit se composer d’un caractère alphanumérique suivi de deux caractères numériques suivis d’un caractère alphanumérique. Le deuxième jeu, qui se compose de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit avoir trois caractères numériques suivis d’un caractère alphanumérique. La mise en correspondance du modèle d’expression régulière doit impliquer une recherche minimale dans la chaîne d’entrée, de sorte que la méthode définit un intervalle de délai d’attente de 500 millisecondes.
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
{
bool isMatch = Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(500));
Console.WriteLine($"{partNumber} {(isMatch ? "is" : "is not")} a valid part number.");
}
catch (RegexMatchTimeoutException e)
{
Console.WriteLine($"Timeout after {e.MatchTimeout} seconds matching {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.
Le modèle d’expression régulière est :
^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$
Le tableau suivant montre comment le modèle d’expression régulière est interprété.
Modèle | Description |
---|---|
^ |
Commencez la correspondance au début de la chaîne. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
\d{2} |
Mettre en correspondance deux caractères numériques. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
- |
Mettre en correspondance un trait d’union. |
\d{3} |
Mettre en correspondance exactement trois caractères numériques. |
(-\d{3}){2} |
Recherchez un trait d’union suivi de trois caractères numériques et faites correspondre deux occurrences de ce modèle. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
$ |
Terminez la correspondance à la fin de la chaîne. |
L’appel de la méthode IsMatch(String, String, RegexOptions, TimeSpan) avec le paramètre options
défini sur RegexOptions.IgnoreCase équivaut à définir l’expression régulière suivante :
[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]
Pour une comparaison, consultez l’exemple de la méthode IsMatch(String, String).
Remarques
La méthode IsMatch est généralement utilisée pour valider une chaîne ou pour s’assurer qu’une chaîne est conforme à un modèle particulier sans récupérer cette chaîne pour une manipulation ultérieure. Si vous souhaitez déterminer si une ou plusieurs chaînes correspondent à un modèle d’expression régulière, puis récupérez-les pour une manipulation ultérieure, appelez la méthode Match ou Matches.
La méthode IsMatch(String, String, RegexOptions, TimeSpan) statique équivaut à construire un objet Regex avec le modèle d’expression régulière spécifié par pattern
et les options d’expression régulière spécifiées par options
et en appelant la méthode d’instance IsMatch(String). Ce modèle d’expression régulière est mis en cache pour une récupération rapide par le moteur d’expression régulière.
Le paramètre pattern
se compose d’éléments de langage d’expression régulière qui décrivent symboliquement la chaîne à mettre en correspondance. Pour plus d’informations sur les expressions régulières, consultez expressions régulières .NET et langage d’expression régulière - Informations de référence rapides.
Le paramètre matchTimeout
spécifie la durée pendant laquelle une méthode de correspondance de modèle doit essayer de trouver une correspondance avant d’expirer. La définition d’un intervalle de délai d’attente empêche les expressions régulières qui s’appuient sur un retour arrière excessif d’apparaître pour cesser de répondre lorsqu’elles traitent les entrées qui contiennent des correspondances proches. Pour plus d’informations, consultez Meilleures pratiques pour les expressions régulières et retour arrière. Si aucune correspondance n’est trouvée dans cet intervalle de temps, la méthode lève une exception RegexMatchTimeoutException.
matchTimeout
remplace toute valeur de délai d’attente par défaut définie pour le domaine d’application dans lequel la méthode s’exécute.
Notes pour les appelants
Nous vous recommandons de définir le paramètre matchTimeout
sur une valeur appropriée, par exemple deux secondes. Si vous désactivez les délais d’attente en spécifiant InfiniteMatchTimeout, le moteur d’expression régulière offre des performances légèrement meilleures. Toutefois, vous devez désactiver les délais d’attente uniquement dans les conditions suivantes :
Lorsque l’entrée traitée par une expression régulière est dérivée d’une source connue et approuvée ou se compose de texte statique. Cela exclut le texte qui a été entré dynamiquement par les utilisateurs.
Lorsque le modèle d’expression régulière a été soigneusement testé pour s’assurer qu’il gère efficacement les correspondances, les non-correspondances et les correspondances proches.
Lorsque le modèle d’expression régulière ne contient aucun élément de langage connu pour provoquer un retour arrière excessif lors du traitement d’une correspondance proche.
Voir aussi
S’applique à
IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés.
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
Paramètres
- input
- ReadOnlySpan<Char>
Étendue à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
- options
- RegexOptions
Combinaison de bits des valeurs d’énumération qui fournissent des options de correspondance.
- matchTimeout
- TimeSpan
Intervalle de délai d’attente ou InfiniteMatchTimeout pour indiquer que la méthode ne doit pas expirer.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
pattern
est null
Un délai d’attente s’est produit.
options
n’est pas dans une valeur RegexOptions valide ou matchTimeout
est négative, zéro ou supérieure à environ 24 jours.
S’applique à
IsMatch(String, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée, à l’aide des options de correspondance spécifiées.
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
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
- options
- RegexOptions
Combinaison de bits des valeurs d’énumération qui fournissent des options de correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
input
ou pattern
est null
.
options
n’est pas une valeur de RegexOptions valide.
Un délai d’attente s’est produit. Pour plus d’informations sur les délais d’attente, consultez la section Remarques.
Exemples
L’exemple suivant illustre l’utilisation de la méthode IsMatch(String, String) pour déterminer si une chaîne est un numéro de partie valide. L’expression régulière suppose que le numéro de partie a un format spécifique qui se compose de trois jeux de caractères séparés par des traits d’union. Le premier jeu, qui contient quatre caractères, doit se composer d’un caractère alphanumérique suivi de deux caractères numériques suivis d’un caractère alphanumérique. Le deuxième jeu, qui se compose de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit avoir trois caractères numériques suivis d’un caractère alphanumérique.
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.
Le modèle d’expression régulière est :
^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$
Le tableau suivant montre comment le modèle d’expression régulière est interprété.
Modèle | Description |
---|---|
^ |
Commencez la correspondance au début de la chaîne. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
\d{2} |
Mettre en correspondance deux caractères numériques. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
- |
Mettre en correspondance un trait d’union. |
\d{3} |
Mettre en correspondance exactement trois caractères numériques. |
(-\d{3}){2} |
Recherchez un trait d’union suivi de trois caractères numériques et faites correspondre deux occurrences de ce modèle.. |
[A-Z0-9] |
Faire correspondre n’importe quel caractère alphabétique unique de A via Z ou tout caractère numérique. |
$ |
Terminez la correspondance à la fin de la chaîne. |
L’appel de la méthode IsMatch(String, String, RegexOptions) avec le paramètre options
défini sur RegexOptions.IgnoreCase équivaut à définir l’expression régulière suivante :
[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]
Pour une comparaison, consultez l’exemple de la méthode IsMatch(String, String).
Remarques
La méthode IsMatch est généralement utilisée pour valider une chaîne ou pour s’assurer qu’une chaîne est conforme à un modèle particulier sans récupérer cette chaîne pour une manipulation ultérieure. Si vous souhaitez déterminer si une ou plusieurs chaînes correspondent à un modèle d’expression régulière, puis récupérez-les pour une manipulation ultérieure, appelez la méthode Match ou Matches.
La méthode IsMatch(String, String, RegexOptions) statique équivaut à construire un objet Regex avec le modèle d’expression régulière spécifié par pattern
et les options d’expression régulière spécifiées par options
et en appelant la méthode d’instance IsMatch(String). Ce modèle d’expression régulière est mis en cache pour une récupération rapide par le moteur d’expression régulière.
Le paramètre pattern
se compose d’éléments de langage d’expression régulière qui décrivent symboliquement la chaîne à mettre en correspondance. Pour plus d’informations sur les expressions régulières, consultez expressions régulières .NET et langage d’expression régulière - Informations de référence rapides.
L’exception RegexMatchTimeoutException est levée si le temps d’exécution de l’opération correspondante dépasse l’intervalle de délai d’attente spécifié pour le domaine d’application dans lequel la méthode est appelée. Si aucun délai d’attente n’est défini dans les propriétés du domaine d’application ou si la valeur de délai d’attente est Regex.InfiniteMatchTimeout, aucune exception n’est levée.
Notes pour les appelants
Cette méthode expire après un intervalle égal à la valeur de délai d’attente par défaut du domaine d’application dans lequel elle est appelée. Si une valeur de délai d’attente n’a pas été définie pour le domaine d’application, la valeur InfiniteMatchTimeout, qui empêche la méthode d’expirer, est utilisée. La méthode statique recommandée pour vérifier qu’une correspondance de modèle est IsMatch(String, String, RegexOptions, TimeSpan), ce qui vous permet de définir l’intervalle de délai d’attente.
Voir aussi
S’applique à
IsMatch(ReadOnlySpan<Char>, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée, à l’aide des options de correspondance spécifiées.
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
Paramètres
- input
- ReadOnlySpan<Char>
Étendue à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
- options
- RegexOptions
Combinaison de bits des valeurs d’énumération qui fournissent des options de correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
pattern
est null
Un délai d’attente s’est produit.
options
n’est pas dans une valeur de RegexOptions valide.
S’applique à
IsMatch(String, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans la chaîne d’entrée spécifiée.
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
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
input
ou pattern
est null
.
Un délai d’attente s’est produit. Pour plus d’informations sur les délais d’attente, consultez la section Remarques.
Exemples
L’exemple suivant illustre l’utilisation de la méthode IsMatch(String, String) pour déterminer si une chaîne est un numéro de partie valide. L’expression régulière suppose que le numéro de partie a un format spécifique qui se compose de trois jeux de caractères séparés par des traits d’union. Le premier jeu, qui contient quatre caractères, doit se composer d’un caractère alphanumérique suivi de deux caractères numériques suivis d’un caractère alphanumérique. Le deuxième jeu, qui se compose de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit avoir trois caractères numériques suivis d’un caractère alphanumérique.
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($"{partNumber} {(Regex.IsMatch(partNumber, pattern) ? "is" : "is not")} " +
$"a valid part number.");
// 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.
Le modèle d’expression régulière est :
^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$
Le tableau suivant montre comment le modèle d’expression régulière est interprété.
Modèle | Description |
---|---|
^ |
Commencez la correspondance au début de la ligne. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
\d{2} |
Mettre en correspondance deux caractères numériques. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
- |
Mettre en correspondance un trait d’union. |
\d{3} |
Mettre en correspondance exactement trois caractères numériques. |
(-\d{3}){2} |
Recherchez un trait d’union suivi de trois caractères numériques et faites correspondre deux occurrences de ce modèle. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
$ |
Terminez la correspondance à la fin de la ligne. |
Remarques
La méthode IsMatch est généralement utilisée pour valider une chaîne ou pour s’assurer qu’une chaîne est conforme à un modèle particulier sans récupérer cette chaîne pour une manipulation ultérieure. Si vous souhaitez déterminer si une ou plusieurs chaînes correspondent à un modèle d’expression régulière, puis récupérez-les pour une manipulation ultérieure, appelez la méthode Match ou Matches.
La méthode IsMatch(String, String) statique équivaut à construire un objet Regex avec le modèle d’expression régulière spécifié par pattern
et en appelant la méthode d’instance IsMatch(String). Ce modèle d’expression régulière est mis en cache pour une récupération rapide par le moteur d’expression régulière.
Le paramètre pattern
se compose d’éléments de langage d’expression régulière qui décrivent symboliquement la chaîne à mettre en correspondance. Pour plus d’informations sur les expressions régulières, consultez expressions régulières .NET et langage d’expression régulière - Informations de référence rapides.
L’exception RegexMatchTimeoutException est levée si le temps d’exécution de l’opération correspondante dépasse l’intervalle de délai d’attente spécifié pour le domaine d’application dans lequel la méthode est appelée. Si aucun délai d’attente n’est défini dans les propriétés du domaine d’application ou si la valeur de délai d’attente est Regex.InfiniteMatchTimeout, aucune exception n’est levée.
Notes pour les appelants
Cette méthode expire après un intervalle égal à la valeur de délai d’attente par défaut du domaine d’application dans lequel la méthode est appelée. Si une valeur de délai d’attente n’a pas été définie pour le domaine d’application, la valeur InfiniteMatchTimeout, qui empêche la méthode d’expirer, est utilisée. La méthode statique recommandée pour vérifier qu’une correspondance de modèle est IsMatch(String, String, RegexOptions, TimeSpan), ce qui vous permet de définir l’intervalle de délai d’attente.
Voir aussi
S’applique à
IsMatch(ReadOnlySpan<Char>, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une étendue d’entrée spécifiée.
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
Paramètres
- input
- ReadOnlySpan<Char>
Étendue à rechercher une correspondance.
- startat
- Int32
Position de caractère de base zéro à laquelle démarrer la recherche.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Un délai d’attente s’est produit.
S’applique à
IsMatch(ReadOnlySpan<Char>, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée trouve une correspondance dans l’étendue d’entrée spécifiée.
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
Paramètres
- input
- ReadOnlySpan<Char>
Étendue à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
pattern
est null
Un délai d’attente s’est produit.
S’applique à
IsMatch(String, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans la chaîne d’entrée spécifiée, en commençant à la position de départ spécifiée dans la chaîne.
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
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- startat
- Int32
Position de caractère à laquelle démarrer la recherche.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
input
est null
.
startat
est inférieur à zéro ou supérieur à la longueur de input
.
Un délai d’attente s’est produit. Pour plus d’informations sur les délais d’attente, consultez la section Remarques.
Exemples
L’exemple suivant illustre l’utilisation de la méthode IsMatch(String, Int32) pour déterminer si une chaîne est un numéro de partie valide. Il recherche un numéro de partie qui suit un signe deux-points (:) caractère dans une chaîne. La méthode IndexOf(Char) est utilisée pour déterminer la position du caractère deux-points, qui est ensuite passée à la méthode IsMatch(String, Int32). L’expression régulière suppose que le numéro de partie a un format spécifique qui se compose de trois jeux de caractères séparés par des traits d’union. Le premier jeu, qui contient quatre caractères, doit se composer d’un caractère alphanumérique suivi de deux caractères numériques suivis d’un caractère alphanumérique. Le deuxième jeu, qui se compose de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit avoir trois caractères numériques suivis d’un caractère alphanumérique.
string[] partNumbers = [ "Part Number: 1298-673-4192", "Part No: A08Z-931-468A",
"_A90-123-129X", "123K-000-1230",
"SKU: 0919-2893-1256" ];
Regex rgx = MyRegex();
foreach (string partNumber in partNumbers)
{
int start = partNumber.IndexOf(':');
if (start >= 0)
{
Console.WriteLine($"{partNumber} {(rgx.IsMatch(partNumber, start) ? "is" : "is not")} a valid part number.");
}
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.
Le modèle d’expression régulière est :
[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$
Le tableau suivant montre comment le modèle d’expression régulière est interprété.
Modèle | Description |
---|---|
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
\d{2} |
Mettre en correspondance deux caractères numériques. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
- |
Mettre en correspondance un trait d’union. |
\d{3} |
Mettre en correspondance exactement trois caractères numériques. |
(-\d{3}){2} |
Recherchez un trait d’union suivi de trois caractères numériques et faites correspondre deux occurrences de ce modèle. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
$ |
Terminez la correspondance à la fin de la ligne. |
Remarques
La méthode IsMatch est généralement utilisée pour valider une chaîne ou pour s’assurer qu’une chaîne est conforme à un modèle particulier sans récupérer cette chaîne pour une manipulation ultérieure. Si vous souhaitez déterminer si une ou plusieurs chaînes correspondent à un modèle d’expression régulière, puis récupérez-les pour une manipulation ultérieure, appelez la méthode Match ou Matches.
Pour plus d’informations sur startat
, consultez la section Remarques de Match(String, Int32).
L’exception RegexMatchTimeoutException est levée si le temps d’exécution de l’opération correspondante dépasse l’intervalle de délai d’attente spécifié par le constructeur Regex.Regex(String, RegexOptions, TimeSpan). Si vous ne définissez pas d’intervalle de délai d’attente lorsque vous appelez le constructeur, l’exception est levée si l’opération dépasse toute valeur de délai d’attente établie pour le domaine d’application dans lequel l’objet Regex est créé. Si aucun délai d’attente n’est défini dans l’appel du constructeur Regex ou dans les propriétés du domaine d’application, ou si la valeur de délai d’attente est Regex.InfiniteMatchTimeout, aucune exception n’est levée.
Voir aussi
S’applique à
IsMatch(String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une chaîne d’entrée spécifiée.
public:
bool IsMatch(System::String ^ input);
public bool IsMatch (string input);
member this.IsMatch : string -> bool
Public Function IsMatch (input As String) As Boolean
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
input
est null
.
Un délai d’attente s’est produit. Pour plus d’informations sur les délais d’attente, consultez la section Remarques.
Exemples
L’exemple suivant illustre l’utilisation de la méthode IsMatch(String) pour déterminer si une chaîne est un numéro de partie valide. L’expression régulière suppose que le numéro de partie a un format spécifique qui se compose de trois jeux de caractères séparés par des traits d’union. Le premier jeu, qui contient quatre caractères, doit se composer d’un caractère alphanumérique suivi de deux caractères numériques suivis d’un caractère alphanumérique. Le deuxième jeu, qui se compose de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit avoir trois caractères numériques suivis d’un caractère alphanumérique.
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($"{partNumber} {(rgx.IsMatch(partNumber) ? "is" : "is not")} a valid part number.");
// 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.
Le modèle d’expression régulière est :
^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$
Le tableau suivant montre comment le modèle d’expression régulière est interprété.
Modèle | Description |
---|---|
^ |
Commencez la correspondance au début de la ligne. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
\d{2} |
Mettre en correspondance deux caractères numériques. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
- |
Mettre en correspondance un trait d’union. |
\d{3} |
Mettre en correspondance exactement trois caractères numériques. |
(-\d{3}){2} |
Recherchez un trait d’union suivi de trois caractères numériques et faites correspondre deux occurrences de ce modèle. |
[a-zA-Z0-9] |
Mettre en correspondance un caractère alphabétique unique (a via z ou A par Z ) ou un caractère numérique. |
$ |
Terminez la correspondance à la fin de la ligne. |
Remarques
La méthode IsMatch est généralement utilisée pour valider une chaîne ou pour s’assurer qu’une chaîne est conforme à un modèle particulier sans récupérer cette chaîne pour une manipulation ultérieure. Si vous souhaitez déterminer si une ou plusieurs chaînes correspondent à un modèle d’expression régulière, puis récupérez-les pour une manipulation ultérieure, appelez la méthode Match ou Matches.
L’exception RegexMatchTimeoutException est levée si le temps d’exécution de l’opération correspondante dépasse l’intervalle de délai d’attente spécifié par le constructeur Regex.Regex(String, RegexOptions, TimeSpan). Si vous ne définissez pas d’intervalle de délai d’attente lorsque vous appelez le constructeur, l’exception est levée si l’opération dépasse toute valeur de délai d’attente établie pour le domaine d’application dans lequel l’objet Regex est créé. Si aucun délai d’attente n’est défini dans l’appel du constructeur Regex ou dans les propriétés du domaine d’application, ou si la valeur de délai d’attente est Regex.InfiniteMatchTimeout, aucune exception n’est levée.
Voir aussi
S’applique à
IsMatch(ReadOnlySpan<Char>)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Indique si l’expression régulière spécifiée dans le constructeur Regex recherche une correspondance dans une étendue d’entrée spécifiée.
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
Paramètres
- input
- ReadOnlySpan<Char>
Étendue à rechercher une correspondance.
Retours
true
si l’expression régulière trouve une correspondance ; sinon, false
.
Exceptions
Un délai d’attente s’est produit.