Partager via


RegexOptions Énumération

Définition

Fournit des valeurs énumérées à utiliser pour définir les options d’expression régulière.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

public enum class RegexOptions
[System.Flags]
public enum RegexOptions
[<System.Flags>]
type RegexOptions = 
Public Enum RegexOptions
Héritage
RegexOptions
Attributs

Champs

Nom Valeur Description
None 0

Spécifie qu’aucune option n’est définie. Pour plus d’informations sur le comportement par défaut du moteur d’expression régulière, consultez la section « Options par défaut » dans l’article Options d’expression régulière .

IgnoreCase 1

Spécifie la correspondance sans respect de la casse. Pour plus d’informations, consultez la section «Case-Insensitive Correspondance » dans l’article Options des expressions régulières .

Multiline 2

Mode multiligne. Modifie la signification de ^ et $ afin qu’ils correspondent au début et à la fin, respectivement, de n’importe quelle ligne, et pas seulement le début et la fin de la chaîne entière. Pour plus d’informations, consultez la section « Mode multiligne » dans l’article Options des expressions régulières .

ExplicitCapture 4

Spécifie que les seules captures valides sont explicitement nommées ou numérotées du formulaire ( ?<nom>...). Cela permet aux parenthèses sans nom d’agir comme des groupes noncapturants sans la maladresse syntactique de l’expression ( ?:...). Pour plus d’informations, consultez la section « Captures explicites uniquement » dans l’article Options des expressions régulières .

Compiled 8

Spécifie que l’expression régulière est compilée en code MSIL, au lieu d’être interprétée. Les expressions régulières compilées optimisent les performances d'exécution au détriment du temps d'initialisation. Cette valeur ne doit pas être affectée à la propriété lors de l’appel Options de la CompileToAssembly(RegexCompilationInfo[], AssemblyName) méthode. Pour plus d’informations, consultez la section « Expressions régulières compilées » dans l’article Options des expressions régulières .

Singleline 16

Spécifie le mode monoligne. Modifie la signification du point (.) afin qu’il corresponde à chaque caractère (au lieu de chaque caractère sauf \n). Pour plus d’informations, consultez la section « Mode monoligne » dans l’article Options des expressions régulières .

IgnorePatternWhitespace 32

Élimine l’espace blanc non boucté du modèle et active les commentaires marqués avec #. Toutefois, cette valeur n’affecte pas ou n’élimine pas l’espace blanc dans les classes de caractères, les quantificateurs numériques ou les jetons qui marquent le début des éléments de langage d’expression régulière individuels. Pour plus d’informations, consultez la section « Ignorer l’espace blanc » de l’article Options des expressions régulières .

RightToLeft 64

Spécifie que la recherche sera de droite à gauche au lieu de gauche à gauche. Pour plus d’informations, consultez la section « Mode de droite à gauche » dans l’article Options des expressions régulières .

ECMAScript 256

Active le comportement conforme à ECMAScript pour l’expression. Cette valeur ne peut être utilisée que conjointement avec les IgnoreCasevaleurs , Multilineet Compiled les valeurs. L’utilisation de cette valeur avec d’autres valeurs entraîne une exception.

Pour plus d’informations sur l’option ECMAScript , consultez la section « Comportement de correspondance ECMAScript » dans l’article Options des expressions régulières .

CultureInvariant 512

Spécifie que les différences culturelles dans la langue sont ignorées. Pour plus d’informations, consultez la section « Comparaison à l’aide de la culture invariante » dans l’article Options des expressions régulières .

NonBacktracking 1024

Activez la correspondance à l’aide d’une approche qui évite le retour arrière et garantit le traitement linéaire dans la durée de l’entrée.

Exemples

L’exemple suivant définit deux expressions régulières qui identifient les mots répétés dans le texte, mais qui sont instanciés à l’aide de valeurs différentes RegexOptions . La première expression régulière ne respecte pas la casse ; la casse est ignorée lorsque vous déterminez si un mot est identique au mot précédent. La deuxième expression régulière respecte la casse ; un mot doit correspondre exactement au cas du mot précédent pour être considéré comme un doublon.

using System;
using System.Text.RegularExpressions;

public class Test
{
    public static void Main ()
    {
        // Define a case-insensitive regular expression for repeated words.
        Regex rxInsensitive = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled | RegexOptions.IgnoreCase);
        // Define a case-sensitive regular expression for repeated words.
        Regex rxSensitive = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
          RegexOptions.Compiled);

        // Define a test string.        
        string text = "The the quick brown fox  fox jumps over the lazy dog dog.";
        
        // Find matches using case-insensitive regular expression.
        MatchCollection matches = rxInsensitive.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}", 
                          matches.Count, 
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",  
                              groups["word"].Value, 
                              groups[0].Index, 
                              groups[1].Index);
        }
        Console.WriteLine();
        
        // Find matches using case-sensitive regular expression.
        matches = rxSensitive.Matches(text);

        // Report the number of matches found.
        Console.WriteLine("{0} matches found in:\n   {1}", 
                          matches.Count, 
                          text);

        // Report on each match.
        foreach (Match match in matches)
        {
            GroupCollection groups = match.Groups;
            Console.WriteLine("'{0}' repeated at positions {1} and {2}",  
                              groups["word"].Value, 
                              groups[0].Index, 
                              groups[1].Index);
        }
    }
}
// The example produces the following output to the console:
//       3 matches found in:
//          The the quick brown fox  fox jumps over the lazy dog dog.
//       'The' repeated at positions 0 and 4
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54
//       
//       2 matches found in:
//          The the quick brown fox  fox jumps over the lazy dog dog.
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54
Imports System.Text.RegularExpressions

Public Module Test

    Public Sub Main()
        ' Define a case-insensitive regular expression for repeated words.
        Dim rxInsensitive As New Regex("\b(?<word>\w+)\s+(\k<word>)\b", _
               RegexOptions.Compiled Or RegexOptions.IgnoreCase)
        ' Define a case-sensitive regular expression for repeated words.
        Dim rxSensitive As New Regex("\b(?<word>\w+)\s+(\k<word>)\b", _
               RegexOptions.Compiled)

        ' Define a test string.        
        Dim text As String = "The the quick brown fox  fox jumps over the lazy dog dog."
        
        ' Find matches using case-insensitive regular expression.
        Dim matches As MatchCollection = rxInsensitive.Matches(text)

        ' Report the number of matches found.
        Console.WriteLine("{0} matches found in:", matches.Count)
        Console.WriteLine("   {0}", text)

        ' Report on each match.
        For Each match As Match In matches
            Dim groups As GroupCollection = match.Groups
            Console.WriteLine("'{0}' repeated at positions {1} and {2}", _ 
                              groups.Item("word").Value, _
                              groups.Item(0).Index, _
                              groups.Item(1).Index)
        Next
        Console.WriteLine()
        
        ' Find matches using case-sensitive regular expression.
        matches = rxSensitive.Matches(text)

        ' Report the number of matches found.
        Console.WriteLine("{0} matches found in:", matches.Count)
        Console.WriteLine("   {0}", text)

        ' Report on each match.
        For Each match As Match In matches
            Dim groups As GroupCollection = match.Groups
            Console.WriteLine("'{0}' repeated at positions {1} and {2}", _ 
                              groups.Item("word").Value, _
                              groups.Item(0).Index, _
                              groups.Item(1).Index)
        Next
        Console.WriteLine()
    End Sub
End Module
' The example produces the following output to the console:
'       3 matches found in:
'          The the quick brown fox  fox jumps over the lazy dog dog.
'       'The' repeated at positions 0 and 4
'       'fox' repeated at positions 20 and 25
'       'dog' repeated at positions 50 and 54
'       
'       2 matches found in:
'          The the quick brown fox  fox jumps over the lazy dog dog.
'       'fox' repeated at positions 20 and 25
'       'dog' repeated at positions 50 and 54

Remarques

Une RegexOptions valeur peut être fournie en tant que paramètre aux membres suivants de la Regex classe :

Une RegexOptions valeur peut également être fournie en tant que paramètre au RegexCompilationInfo constructeur, ou elle peut être affectée directement à la RegexCompilationInfo.Options propriété. L’objet résultant RegexCompilationInfo est ensuite utilisé dans l’appel à la Regex.CompileToAssembly méthode.

Plusieurs options fournies par les membres de l’énumération RegexOptions (en particulier, par ses membres , et IgnoreCaseMultilineSingleline ses ExplicitCapturemembres) peuvent être fournies à la place à l’aide d’un caractère d’option inline dans le modèle d’expression régulière. Pour plus d’informations, consultez Options d’expression régulière.

S’applique à

Voir aussi