Regex.Match 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.
Recherche une chaîne d’entrée pour une sous-chaîne qui correspond à un modèle d’expression régulière et retourne la première occurrence en tant qu’objet unique Match .
Surcharges
| Nom | Description |
|---|---|
| Match(String) |
Recherche la chaîne d’entrée spécifiée pour la première occurrence de l’expression régulière spécifiée dans le Regex constructeur. |
| Match(String, Int32) |
Recherche dans la chaîne d’entrée la première occurrence d’une expression régulière, en commençant à la position de départ spécifiée dans la chaîne. |
| Match(String, String) |
Recherche la chaîne d’entrée spécifiée pour la première occurrence de l’expression régulière spécifiée. |
| Match(String, Int32, Int32) |
Recherche la chaîne d’entrée pour la première occurrence d’une expression régulière, en commençant à la position de départ spécifiée et en recherchant uniquement le nombre de caractères spécifié. |
| Match(String, String, RegexOptions) |
Recherche la chaîne d’entrée pour la première occurrence de l’expression régulière spécifiée, à l’aide des options de correspondance spécifiées. |
| Match(String, String, RegexOptions, TimeSpan) |
Recherche la chaîne d’entrée pour la première occurrence de l’expression régulière spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés. |
Match(String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche la chaîne d’entrée spécifiée pour la première occurrence de l’expression régulière spécifiée dans le Regex constructeur.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input);
public System.Text.RegularExpressions.Match Match(string input);
member this.Match : string -> System.Text.RegularExpressions.Match
Public Function Match (input As String) As Match
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
Retours
Objet qui contient des informations sur la correspondance.
Exceptions
input a la valeur null.
Un délai d’attente s’est produit.
Remarques
La Match(String) méthode retourne la première sous-chaîne qui correspond à un modèle d’expression régulière dans une chaîne d’entrée.
Vous pouvez déterminer si le modèle d’expression régulière a été trouvé dans la chaîne d’entrée en vérifiant la propriété de l’objet Match retournéSuccess. Si une correspondance est trouvée, la propriété de l’objet Match retourné Value contient la sous-chaîne correspondante. Si aucune correspondance n’est trouvée, sa valeur est Empty.
Cette méthode retourne la première correspondance. Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet NextMatch() retourné. Vous pouvez également récupérer toutes les correspondances dans un appel de méthode unique en appelant Matches(String).
L’exception RegexMatchTimeoutException est levée si l’heure d’exécution de l’opération correspondante dépasse l’intervalle de délai d’attente spécifié par le 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 constructeur Regex ou dans les propriétés du domaine d’application, ou si la valeur du délai d’attente est InfiniteMatchTimeout, aucune exception n’est levée.
Voir aussi
S’applique à
Match(String, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche dans la chaîne d’entrée la première occurrence d’une expression régulière, en commençant à la position de départ spécifiée dans la chaîne.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int startat);
public System.Text.RegularExpressions.Match Match(string input, int startat);
member this.Match : string * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, startat As Integer) As Match
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- startat
- Int32
Position de caractère de base zéro à laquelle démarrer la recherche.
Retours
Objet qui contient des informations sur la correspondance.
Exceptions
input a la valeur null.
startat est inférieur à zéro ou supérieur à la longueur de input.
Un délai d’attente s’est produit.
Remarques
La Match(String, Int32) méthode retourne la première sous-chaîne qui correspond à un modèle d’expression régulière, en commençant à ou après la position du startat caractère, dans une chaîne d’entrée. Le modèle d'expression régulière pour lequel la méthode Match(String, Int32) recherche est défini par l’appel à l’un des constructeurs de la classe Regex. Pour plus d’informations sur les éléments de langage utilisés pour générer un modèle d’expression régulière, consultez Le langage d’expression régulière - Informations de référence rapides.
Paramètre startat
Utilisez le startat paramètre pour spécifier la position de caractère au démarrage de la recherche. Dans une recherche de gauche à droite, toutes les correspondances qui commencent avant startat dans la chaîne sont ignorées.
Pour commencer à la position par défaut, utilisez la Match(String) surcharge (ou passez 0 pour une recherche de gauche à droite et input.Length pour une recherche de droite à gauche).
Malgré le démarrage de la recherche à startat, l’index d’une correspondance retournée est relatif au début de la chaîne.
Bien que le moteur d’expression régulière ne retourne aucune correspondance avant startat, il n’ignore pas la chaîne avant startat. Cela signifie que les assertions telles que les ancres ou les assertions de postanalyse s’appliquent toujours à l’entrée dans son ensemble. Par exemple, le code suivant inclut un modèle avec une assertion postanalyse satisfaite, même si elle se produit avant l’index startat de 5 dans la chaîne d’entrée.
string input = "Zip code: 98052";
var regex = new Regex(@"(?<=Zip code: )\d{5}");
Match match = regex.Match(input, 5);
if (match.Success)
{
Console.WriteLine($"Match found: {match.Value}");
}
// This code prints the following output:
//
// Match found: 98052
Tip
- Si un modèle commence par l’ancre
^,startatest supérieur à 0 et que l’expression régulière n’utilise RegexOptions.Multilinepas, aucune correspondance n’est trouvée, car elles sont limitées par^le démarrage à l’index 0. - L’
\Gancre est satisfaite àstartat. Par conséquent, si vous souhaitez restreindre une correspondance afin qu’elle commence exactement à une position de caractère particulière dans la chaîne, ancrez l’expression régulière avec une\Gà gauche pour un modèle de gauche à droite. Cela limite la correspondance de sorte qu’elle doit commencer exactement àstartat(ou, lorsque plusieurs correspondances sont souhaitées, de sorte que les correspondances sont contiguës).
Recherches de droite à gauche
Une recherche de droite à gauche, autrement dit, lorsque le modèle d’expression régulière est construit avec l’option RegexOptions.RightToLeft , se comporte de la manière suivante :
- Le scan se déplace dans la direction opposée et le motif est mis en correspondance de l'arrière (à droite) vers l'avant (à gauche).
- La position de départ par défaut est la fin droite de la chaîne d’entrée.
- Si
startatest spécifié, l’analyse de droite à gauche commence au caractère àstartat- 1 (et non àstartat). - Lorsque l’ancre
\Gest spécifiée à l’extrémité droite d’un motif, elle restreint la (première) correspondance pour qu’elle se termine exactement àstartat- 1.
Pour plus d’informations sur les recherches de droite à gauche, consultez le mode Droite à gauche.
Déterminer si une correspondance est trouvée
Vous pouvez déterminer si le modèle d'expression régulière a été trouvé dans la chaîne d'entrée en vérifiant la valeur de la propriété Match de l'objet Success retourné. Si une correspondance est trouvée, la propriété Match de l'objet Value retourné contient la sous-chaîne de input qui correspond au modèle d'expression régulière.
Si aucune correspondance n’est trouvée, sa valeur est String.Empty.
Première ou plusieurs correspondances
Cette méthode retourne la première sous-chaîne trouvée en analysant input à partir de la startat position (ou, pour les recherches de droite à gauche, à - startat 1) qui correspond au modèle d’expression régulière.
Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet Match.NextMatch retourné. Vous pouvez également récupérer toutes les correspondances en un seul appel de méthode en appelant la méthode Regex.Matches(String, Int32).
Exceptions de délai d’attente
L’exception RegexMatchTimeoutException est levée si l’heure 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 constructeur Regex ou 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.
Voir aussi
S’applique à
Match(String, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche la chaîne d’entrée spécifiée pour la première occurrence de l’expression régulière spécifiée.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern);
public static System.Text.RegularExpressions.Match Match(string input, string pattern);
static member Match : string * string -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String) As Match
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- pattern
- String
Modèle d’expression régulière à mettre en correspondance.
Retours
Objet qui contient des informations sur la correspondance.
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.
Remarques
La méthode statique Match(String, String) équivaut à construire un Regex objet avec le modèle spécifié et à appeler la méthode d’instance Match(String) . Le moteur d’expression régulière met en cache le modèle.
Vous pouvez déterminer si le modèle d’expression régulière a été trouvé dans la chaîne d’entrée en vérifiant la propriété de l’objet Match retournéSuccess. Si une correspondance est trouvée, la propriété de l’objet Match retourné Value contient la sous-chaîne correspondante. Si aucune correspondance n’est trouvée, sa valeur est Empty.
Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet NextMatch() retourné. Vous pouvez également récupérer toutes les correspondances en un seul appel de méthode en appelant la méthode Matches(String, String).
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 de expirer, est utilisée. La méthode statique recommandée pour récupérer une correspondance de modèle est Match(String, String), ce qui vous permet de définir l’intervalle de délai d’attente.
Voir aussi
S’applique à
Match(String, Int32, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche la chaîne d’entrée pour la première occurrence d’une expression régulière, en commençant à la position de départ spécifiée et en recherchant uniquement le nombre de caractères spécifié.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int beginning, int length);
public System.Text.RegularExpressions.Match Match(string input, int beginning, int length);
member this.Match : string * int * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, beginning As Integer, length As Integer) As Match
Paramètres
- input
- String
Chaîne à rechercher une correspondance.
- beginning
- Int32
Position de caractère de base zéro dans la chaîne d’entrée qui définit la position la plus à gauche à rechercher.
- length
- Int32
Nombre de caractères dans la sous-chaîne à inclure dans la recherche.
Retours
Objet qui contient des informations sur la correspondance.
Exceptions
input a la valeur null.
beginning est inférieur à zéro ou supérieur à la longueur de input.
-ou- length est inférieur à zéro ou supérieur à la longueur de input.
-ou- - beginning + length 1 identifie une position qui se trouve en dehors de la plage de .input
Un délai d’attente s’est produit.
Remarques
La Match(String, Int32, Int32) méthode recherche la partie définie input par les paramètres et beginning le length modèle d’expression régulière.
beginning définit toujours l’index du caractère le plus à gauche à inclure dans la recherche et length définit le nombre maximal de caractères à rechercher. Ensemble, ils définissent la plage de la recherche. Le comportement est exactement comme si l’entrée était effectivement input.Substring(beginning, length), sauf que l’index d’une correspondance est compté par rapport au début de input. Cela signifie que toutes les ancres ou assertions de largeur nulle au début ou à la fin du modèle se comportent comme s’il n’y a pas d’entrée en dehors de cette plage.
Si la recherche passe de gauche à droite (valeur par défaut), le moteur d’expression régulière effectue des recherches du caractère à l’index beginning vers le caractère à l’index beginning + length - 1. Si le moteur d’expression régulière a été instancié à l’aide de l’optionRightToLeft, le moteur recherche du caractère à l’indexbeginning + length- 1 vers le caractère à l’index .beginning
Cette méthode retourne la première correspondance trouvée dans cette plage. Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet NextMatch() retourné.
Voir aussi
S’applique à
Match(String, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche la chaîne d’entrée pour la première occurrence de l’expression régulière spécifiée, à l’aide des options de correspondance spécifiées.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions) As Match
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
Objet qui contient des informations sur la correspondance.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
input ou pattern est null.
options n’est pas une combinaison de valeurs au niveau du RegexOptions bit valide.
Un délai d’attente s’est produit.
Remarques
La méthode statique Match(String, String, RegexOptions) équivaut à construire un Regex objet avec le Regex(String, RegexOptions) constructeur et à appeler la méthode d’instance Match(String) .
Vous pouvez déterminer si le modèle d’expression régulière a été trouvé dans la chaîne d’entrée en vérifiant la propriété de l’objet Match retournéSuccess. Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet NextMatch() retourné. Vous pouvez également récupérer toutes les correspondances en un seul appel de méthode en appelant la méthode Matches(String, String, RegexOptions).
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 de expirer, est utilisée. La méthode statique recommandée pour récupérer une correspondance de modèle est Match(String, String), ce qui vous permet de définir l’intervalle de délai d’attente.
Voir aussi
S’applique à
Match(String, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Recherche la chaîne d’entrée pour la première occurrence de l’expression régulière spécifiée, à l’aide des options de correspondance et de l’intervalle de délai d’attente spécifiés.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Match
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
Objet qui contient des informations sur la correspondance.
Exceptions
Une erreur d’analyse d’expression régulière s’est produite.
input ou pattern est null.
options n’est pas une combinaison de valeurs au niveau du RegexOptions bit valide.
-ou- matchTimeout est négatif, zéro ou supérieur à environ 24 jours.
Un délai d’attente s’est produit.
Remarques
La méthode statique Match(String, String, RegexOptions, TimeSpan) équivaut à construire un Regex objet avec le Regex(String, RegexOptions, TimeSpan) constructeur et à appeler la méthode d’instance Match(String) .
Vous pouvez déterminer si le modèle d’expression régulière a été trouvé dans la chaîne d’entrée en vérifiant la propriété de l’objet Match retournéSuccess. Vous pouvez récupérer les correspondances suivantes en appelant à plusieurs reprises la méthode Match de l'objet NextMatch() retourné.
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 qu’elle expire. 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. 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 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.