RegexOptions Énumération

Définition

Fournit les valeurs énumérées à utiliser pour définir les options des expressions régulières.

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

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 assignée à la propriété Options lors de l'appel de la méthode CompileToAssembly(RegexCompilationInfo[], AssemblyName). Pour plus d’informations, consultez la section « Expressions régulières compilées » dans l’article Options d’expression régulière .

CultureInvariant 512

Indique que les différences culturelles dans la langue ne sont pas prises en compte. Pour plus d’informations, consultez la section « Comparaison à l’aide de la culture invariante » dans l’article Options d’expression régulière .

ECMAScript 256

Active un comportement conforme ECMAScript pour l’expression. Cette valeur ne peut être utilisée qu'en conjonction avec les valeurs IgnoreCase, Multiline et Compiled. L'utilisation de cette valeur avec n'importe quelle autre valeur donne lieu à une exception.

Pour plus d’informations sur l’option ECMAScript , consultez la section « COMPORTEMENT DE CORRESPONDANCE ECMAScript » dans l’article Options d’expression régulière .

ExplicitCapture 4

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

IgnoreCase 1

Spécifie la correspondance qui ne respecte pas la casse. Pour plus d’informations, consultez la section « Correspondance sans respect de la casse » dans l’article Options d’expression régulière .

IgnorePatternWhitespace 32

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

Multiline 2

Mode multiligne. Modifie la signification de ^ et $ de sorte qu'ils correspondent respectivement au début et à la fin de n'importe quelle ligne, et non simplement au début et à la fin de la chaîne entière. Pour plus d’informations, consultez la section « Mode multiligne » dans l’article Options d’expression régulière .

NonBacktracking 1024

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

None 0

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

RightToLeft 64

Spécifie que la recherche sera effectuée de droite à gauche et non de gauche à droite. Pour plus d’informations, consultez la section « Mode de droite à gauche » dans l’article Options d’expression régulière .

Singleline 16

Spécifie le mode à ligne simple. Modifie la signification du point (.) de sorte qu'il corresponde à chaque caractère (et non à chaque caractère sauf \n). Pour plus d’informations, consultez la section « Mode monoligne » dans l’article Options d’expression régulière .

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 lors de la détermination d’un mot 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 ExplicitCapturemembres , IgnoreCase, Multilineet Singleline ) peuvent être fournies à 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