Regex.IsMatch Méthode

Définition

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, en utilisant les options de correspondance et un 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 cherche une correspondance dans la chaîne d'entrée spécifiée, en utilisant les 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 cherche une correspondance dans la chaîne 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(ReadOnlySpan<Char>, Int32)

Indique si l’expression régulière spécifiée dans le constructeur Regex trouve une correspondance dans une étendue d’entrée spécifiée.

IsMatch(String)

Indique si l'expression régulière spécifiée dans le constructeur Regex cherche une correspondance dans une chaîne d'entrée spécifique.

IsMatch(ReadOnlySpan<Char>)

Indique si l’expression régulière spécifiée dans le constructeur Regex trouve une correspondance dans une étendue d’entrée spécifiée.

IsMatch(String, Int32)

Indique si l'expression régulière spécifiée dans le constructeur Regex cherche une correspondance dans la chaîne d'entrée spécifiée, en commençant à la position de départ définie dans la chaîne.

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, en utilisant les options de correspondance et un 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 dans laquelle une correspondance doit être recherchée.

pattern
String

Modèle d’expression régulière à mettre en correspondance.

options
RegexOptions

Combinaison d'opérations de bits des valeurs d'énumération qui fournissent des options pour la 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 a une valeur négative, nulle ou supérieure à environ 24 jours.

Un délai d’attente a expiré.

Exemples

L’exemple suivant illustre l’utilisation de la IsMatch(String, String, RegexOptions, TimeSpan) méthode pour déterminer si une chaîne est un numéro de référence valide. L’expression régulière suppose que le numéro de référence 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, composé de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit comporter 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.

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.

Le modèle d'expression régulière est le suivant :

^[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
^ Commencer la correspondance au début de la chaîne.
[A-Z0-9] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
\d{2} Mettre en correspondance deux caractères numériques.
[A-Z0-9] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
- Mettre en correspondance un trait d'union.
\d{3} Faire correspondre 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] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
$ Termine la correspondance à la fin de la chaîne.

Appeler la IsMatch(String, String, RegexOptions, TimeSpan) méthode avec le options paramètre défini sur RegexOptions.IgnoreCase revient à 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 IsMatch(String, String) méthode .

Remarques

La IsMatch méthode 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 les récupérer pour une manipulation ultérieure, appelez la Match méthode ou Matches .

La méthode statique IsMatch(String, String, RegexOptions, TimeSpan) équivaut à construire un Regex objet 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 IsMatch(String) méthode instance. 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 pattern paramètre 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 - Référence rapide.

Le matchTimeout paramètre spécifie la durée pendant laquelle une méthode de correspondance de modèle doit essayer de trouver une correspondance avant son expiration. La définition d’un intervalle de délai d’attente empêche les expressions régulières qui reposent sur un retour arrière excessif de s’arrêter de répondre lorsqu’elles traitent des entrées qui contiennent des correspondances proches. Pour plus d’informations, consultez Meilleures pratiques pour les expressions régulières et la rétroaction. Si aucune correspondance n’est trouvée dans cet intervalle de temps, la méthode lève une RegexMatchTimeoutException exception. 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 matchTimeout paramètre 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 entré dynamiquement par les utilisateurs.

  • Lorsque le modèle d’expression régulière a été minutieusement 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 une rétroaction excessive lors du traitement d’une quasi-correspondance.

Voir aussi

S’applique à

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.

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 pour rechercher une correspondance.

pattern
String

Modèle d’expression régulière à mettre en correspondance.

options
RegexOptions

Combinaison d'opérations de bits des valeurs d'énumération qui fournissent des options pour la 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 a expiré.

options n’est pas dans une valeur valide RegexOptions ou matchTimeout est négatif, zéro ou supérieur à environ 24 jours.

S’applique à

IsMatch(String, String, RegexOptions)

Indique si l'expression régulière spécifiée cherche une correspondance dans la chaîne d'entrée spécifiée, en utilisant les 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 dans laquelle une correspondance doit être recherchée.

pattern
String

Modèle d’expression régulière à mettre en correspondance.

options
RegexOptions

Combinaison d'opérations de bits des valeurs d'énumération qui fournissent des options pour la 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 a expiré. Pour plus d’informations sur les dépassements de délai d’attente, consultez la section Notes.

Exemples

L’exemple suivant illustre l’utilisation de la IsMatch(String, String) méthode pour déterminer si une chaîne est un numéro de référence valide. L’expression régulière suppose que le numéro de référence 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, composé de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit comporter trois caractères numériques suivis d’un caractère alphanumérique.

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.

Le modèle d'expression régulière est le suivant :

^[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
^ Commencer la correspondance au début de la chaîne.
[A-Z0-9] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
\d{2} Mettre en correspondance deux caractères numériques.
[A-Z0-9] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
- Mettre en correspondance un trait d'union.
\d{3} Faire correspondre 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] Mettre en correspondance n’importe quel caractère alphabétique unique de A à Z, ou n’importe quel caractère numérique.
$ Termine la correspondance à la fin de la chaîne.

Appeler la IsMatch(String, String, RegexOptions) méthode avec le options paramètre défini sur RegexOptions.IgnoreCase revient à 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 IsMatch(String, String) méthode .

Remarques

La IsMatch méthode 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 les récupérer pour une manipulation ultérieure, appelez la Match méthode ou Matches .

La méthode statique IsMatch(String, String, RegexOptions) équivaut à construire un Regex objet 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 IsMatch(String) méthode instance. 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 pattern paramètre 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 - Référence rapide.

L’exception RegexMatchTimeoutException est levée si la durée 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 du 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 aucune valeur de délai d’attente n’a é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 une correspondance de modèle est IsMatch(String, String, RegexOptions, TimeSpan), qui vous permet de définir l’intervalle de délai d’attente.

Voir aussi

S’applique à

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.

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 pour rechercher une correspondance.

pattern
String

Modèle d’expression régulière à mettre en correspondance.

options
RegexOptions

Combinaison d'opérations de bits des valeurs d'énumération qui fournissent des options pour la 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 a expiré.

options n’est pas dans une valeur valide RegexOptions .

S’applique à

IsMatch(String, String)

Indique si l'expression régulière spécifiée cherche 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 dans laquelle une correspondance doit être recherchée.

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 a expiré. Pour plus d’informations sur les dépassements de délai d’attente, consultez la section Notes.

Exemples

L’exemple suivant illustre l’utilisation de la IsMatch(String, String) méthode pour déterminer si une chaîne est un numéro de référence valide. L’expression régulière suppose que le numéro de référence 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, composé de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit comporter trois caractères numériques suivis d’un caractère alphanumérique.

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.

Le modèle d'expression régulière est le suivant :

^[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 à z ou A à travers 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 à z ou A à travers Z) ou un caractère numérique.
- Mettre en correspondance un trait d'union.
\d{3} Faire correspondre 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 à z ou A à travers Z) ou un caractère numérique.
$ Terminez la correspondance à la fin de la ligne.

Remarques

La IsMatch méthode 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 les récupérer pour une manipulation ultérieure, appelez la Match méthode ou Matches .

La méthode statique IsMatch(String, String) équivaut à construire un Regex objet avec le modèle d’expression régulière spécifié par pattern et à appeler la IsMatch(String) méthode instance. 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 pattern paramètre 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 - Référence rapide.

L’exception RegexMatchTimeoutException est levée si la durée 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 du 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 aucune valeur de délai d’attente n’a é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 une correspondance de modèle est IsMatch(String, String, RegexOptions, TimeSpan), qui vous permet de définir l’intervalle de délai d’attente.

Voir aussi

S’applique à

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.

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 pour 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 a expiré.

S’applique à

IsMatch(ReadOnlySpan<Char>, Int32)

Indique si l’expression régulière spécifiée dans le constructeur Regex trouve 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 pour rechercher une correspondance.

startat
Int32

Position du caractère de base zéro à partir duquel commencer la recherche.

Retours

true si l'expression régulière trouve une correspondance ; sinon, false.

Exceptions

Un délai d’attente a expiré.

S’applique à

IsMatch(String)

Indique si l'expression régulière spécifiée dans le constructeur Regex cherche une correspondance dans une chaîne d'entrée spécifique.

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 dans laquelle une correspondance doit être recherchée.

Retours

true si l'expression régulière trouve une correspondance ; sinon, false.

Exceptions

input a la valeur null.

Un délai d’attente a expiré. Pour plus d’informations sur les dépassements de délai d’attente, consultez la section Notes.

Exemples

L’exemple suivant illustre l’utilisation de la IsMatch(String) méthode pour déterminer si une chaîne est un numéro de référence valide. L’expression régulière suppose que le numéro de référence 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, composé de trois caractères, doit être numérique. Le troisième jeu, composé de quatre caractères, doit comporter trois caractères numériques suivis d’un caractère alphanumérique.

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.

Le modèle d'expression régulière est le suivant :

^[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 à z ou A à travers 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 à z ou A à travers Z) ou un caractère numérique.
- Mettre en correspondance un trait d'union.
\d{3} Faire correspondre 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] Faire correspondre un caractère alphabétique unique (a via z ou A via Z) ou un caractère numérique.
$ Terminez la correspondance à la fin de la ligne.

Remarques

La IsMatch méthode 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 les récupérer pour une manipulation ultérieure, appelez la Match méthode 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 Regex.Regex(String, RegexOptions, TimeSpan) constructeur. 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 Regex constructeur 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>)

Indique si l’expression régulière spécifiée dans le constructeur Regex trouve 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 permettant de rechercher une correspondance.

Retours

true si l'expression régulière trouve une correspondance ; sinon, false.

Exceptions

Un délai d’attente a expiré.

S’applique à

IsMatch(String, Int32)

Indique si l'expression régulière spécifiée dans le constructeur Regex cherche une correspondance dans la chaîne d'entrée spécifiée, en commençant à la position de départ définie 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 dans laquelle une correspondance doit être recherchée.

startat
Int32

Position du caractère où la recherche doit commencer.

Retours

true si l'expression régulière trouve une correspondance ; sinon, false.

Exceptions

input a la valeur null.

startat est inférieur à zéro ou supérieur à la longueur de input.

Un délai d’attente a expiré. Pour plus d’informations sur les dépassements de délai d’attente, consultez la section Notes.

Exemples

L’exemple suivant illustre l’utilisation de la IsMatch(String, Int32) méthode pour déterminer si une chaîne est un numéro de référence valide. Il recherche un numéro de pièce qui suit un signe deux-points (:) caractère dans une chaîne. La IndexOf(Char) méthode est utilisée pour déterminer la position du caractère deux-points, qui est ensuite passé à la IsMatch(String, Int32) méthode. L’expression régulière suppose que le numéro de pièce 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 ensemble, qui se compose de trois caractères, doit être numérique. Le troisième jeu, qui se compose de quatre caractères, doit comporter trois caractères numériques suivis d’un caractère alphanumérique.

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.

Le modèle d'expression régulière est le suivant :

[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] Faire correspondre un caractère alphabétique unique (a via z ou A via Z) ou un caractère numérique.
\d{2} Mettre en correspondance deux caractères numériques.
[a-zA-Z0-9] Faire correspondre un caractère alphabétique unique (a via z ou A via Z) ou un caractère numérique.
- Mettre en correspondance un trait d'union.
\d{3} Faire correspondre 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] Faire correspondre un caractère alphabétique unique (a via z ou A via Z) ou un caractère numérique.
$ Terminez la correspondance à la fin de la ligne.

Remarques

La IsMatch méthode 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 les récupérer pour une manipulation ultérieure, appelez la Match méthode 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 Regex.Regex(String, RegexOptions, TimeSpan) constructeur. 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 Regex constructeur 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 à