RegexOptions Énumération
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.
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
- 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 :
Constructeur de Regex.Regex(String, RegexOptions) classe.
Les méthodes et Regex.Replace(String, String, MatchEvaluator, RegexOptions) les Regex.Replace(String, String, String, RegexOptions) méthodes.
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.