RegexOptions RegexOptions RegexOptions RegexOptions Enum

Definicja

Udostępnia wartości wyliczenia można użyć, aby ustawić opcje wyrażeń regularnych.Provides enumerated values to use to set regular expression options.

To wyliczenie ma atrybut FlagsAttribute zezwalający na bitową kombinację jego wartości składowych.

public enum class RegexOptions
[System.Flags]
public enum RegexOptions
type RegexOptions = 
Public Enum RegexOptions
Dziedziczenie
Atrybuty

Pola

Compiled Compiled Compiled Compiled 8

Określa, że wyrażenie regularne jest kompilowane do zestawu.Specifies that the regular expression is compiled to an assembly. To daje szybsze wykonywanie, ale zwiększa czasu uruchamiania.This yields faster execution but increases startup time. Ta wartość nie powinny być przypisane do Options właściwości podczas wywoływania CompileToAssembly(RegexCompilationInfo[], AssemblyName) metody.This value should not be assigned to the Options property when calling the CompileToAssembly(RegexCompilationInfo[], AssemblyName) method. Aby uzyskać więcej informacji, zobacz sekcję "Skompilowane wyrażenia regularne" w Regular Expression Options tematu.For more information, see the "Compiled Regular Expressions" section in the Regular Expression Options topic.

CultureInvariant CultureInvariant CultureInvariant CultureInvariant 512

Określa, że różnice kulturowe w języku jest ignorowana.Specifies that cultural differences in language is ignored. Aby uzyskać więcej informacji, zobacz sekcję "Porównania przy użyciu niezmiennej kultury" w Regular Expression Options tematu.For more information, see the "Comparison Using the Invariant Culture" section in the Regular Expression Options topic.

ECMAScript ECMAScript ECMAScript ECMAScript 256

Włącza zachowanie zgodne z ECMAScript dla wyrażenia.Enables ECMAScript-compliant behavior for the expression. Ta wartość może być używana tylko w połączeniu z IgnoreCase, Multiline, i Compiled wartości.This value can be used only in conjunction with the IgnoreCase, Multiline, and Compiled values. Użyj tej wartości z innymi wartościami powoduje wyjątek.The use of this value with any other values results in an exception.

Aby uzyskać więcej informacji na temat ECMAScript opcji, zobacz sekcję "Zachowanie dopasowywania ECMAScript" w Regular Expression Options tematu.For more information on the ECMAScript option, see the "ECMAScript Matching Behavior" section in the Regular Expression Options topic.

ExplicitCapture ExplicitCapture ExplicitCapture ExplicitCapture 4

Określa, że jedyne prawidłowe przechwycenia jawnie nazwane lub ponumerowane grupy z formularza (?< Nazwa>...). Dzięki temu nienazwane nawiasów do działania jako grupy niezapamiętywane bez clumsiness składni wyrażenia (?:...). Aby uzyskać więcej informacji, zobacz sekcję "Tylko jawne Przechwytywanie" w Regular Expression Options tematu.Specifies that the only valid captures are explicitly named or numbered groups of the form (?<name>...). This allows unnamed parentheses to act as noncapturing groups without the syntactic clumsiness of the expression (?:...). For more information, see the "Explicit Captures Only" section in the Regular Expression Options topic.

IgnoreCase IgnoreCase IgnoreCase IgnoreCase 1

Określa, dopasowanie bez uwzględniania wielkości liter.Specifies case-insensitive matching. Aby uzyskać więcej informacji, zobacz sekcję "Dopasowanie bez uwzględniania wielkości liter" w Regular Expression Options tematu.For more information, see the "Case-Insensitive Matching " section in the Regular Expression Options topic.

IgnorePatternWhitespace IgnorePatternWhitespace IgnorePatternWhitespace IgnorePatternWhitespace 32

Eliminuje niekodowany biały znak od wzorca i umożliwia komentarze oznaczone znakiem #.Eliminates unescaped white space from the pattern and enables comments marked with #. Jednak ta wartość nie wpływa na lub wyeliminowania biały znak w klasy znaku, numerycznego Kwantyfikatory, lub tokenów, oznaczające początek osoba język wyrażeń regularnych elementy.However, this value does not affect or eliminate white space in character classes, numeric quantifiers, or tokens that mark the beginning of individual regular expression language elements. Aby uzyskać więcej informacji, zobacz sekcję "Ignoruj odstęp" Regular Expression Options tematu.For more information, see the "Ignore White Space" section of the Regular Expression Options topic.

Multiline Multiline Multiline Multiline 2

Tryb wielowierszowy.Multiline mode. Zmienia znaczenie ^ i $, tak aby odpowiadały na początku i końcu, odpowiednio, każdego wiersza i nie tylko na początku i końcu cały ciąg.Changes the meaning of ^ and $ so they match at the beginning and end, respectively, of any line, and not just the beginning and end of the entire string. Aby uzyskać więcej informacji, zobacz sekcję "Tryb wielowierszowy" w Regular Expression Options tematu.For more information, see the "Multiline Mode" section in the Regular Expression Options topic.

None None None None 0

Określa, że opcje nie są ustawione.Specifies that no options are set. Aby uzyskać więcej informacji na temat zachowania domyślnego aparat wyrażeń regularnych, zobacz sekcję "Domyślne opcje" w Regular Expression Options tematu.For more information about the default behavior of the regular expression engine, see the "Default Options" section in the Regular Expression Options topic.

RightToLeft RightToLeft RightToLeft RightToLeft 64

Określa, że wyszukiwanie będzie od prawej do lewej zamiast od lewej do prawej.Specifies that the search will be from right to left instead of from left to right. Aby uzyskać więcej informacji, zobacz sekcję "Tryb od prawej do lewej" w Regular Expression Options tematu.For more information, see the "Right-to-Left Mode" section in the Regular Expression Options topic.

Singleline Singleline Singleline Singleline 16

Określa tryb jednowierszowy.Specifies single-line mode. Zmienia znaczenie znaku kropki (.), tak więc dopasowuje każdy znak (zamiast każdego znaku z wyjątkiem \n).Changes the meaning of the dot (.) so it matches every character (instead of every character except \n). Aby uzyskać więcej informacji, zobacz sekcję "Tryb jednowierszowy" w Regular Expression Options tematu.For more information, see the "Single-line Mode" section in the Regular Expression Options topic.

Przykłady

W poniższym przykładzie zdefiniowano dwóch wyrażeń regularnych, które identyfikują powtarzające się wyrazy w tekście, ale które są tworzone za pomocą różnych RegexOptions.ExplicitCapture wartości.The following example defines two regular expressions that identify repeated words in text but that are instantiated using different RegexOptions.ExplicitCapture values. Pierwsze wyrażenie regularne jest rozróżniana wielkość liter; wielkość liter jest ignorowana podczas ustalania, czy słowo jest taka sama jak poprzedni wyraz.The first regular expression is case-insensitive; case is ignored when determining whether a word is identical to the preceding word. Drugie wyrażenie regularne jest rozróżniana wielkość liter; słowo musi odpowiadać wielkości liter w poprzednim słowo dokładnie można uznać za duplikat.The second regular expression is case-sensitive; a word must match the case of the preceding word exactly to be considered a duplicate.

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

Uwagi

A RegexOptions wartości można podać jako parametr do następujących elementów członkowskich Regex klasy:A RegexOptions value can be provided as a parameter to the following members of the Regex class:

A RegexOptions także podać wartość jako parametr do RegexCompilationInfo konstruktora, lub można przypisać bezpośrednio do Options właściwości.A RegexOptions value can also be supplied as a parameter to the RegexCompilationInfo constructor, or it can be assigned directly to the Options property. Wartość wynikowa RegexCompilationInfo obiekt jest następnie używany w wywołaniu CompileToAssembly metody.The resulting RegexCompilationInfo object is then used in the call to the CompileToAssembly method.

Kilka opcji, dostarczanych przez elementy członkowskie RegexOptions wyliczenia (w szczególności przez swoich członków ExplicitCapture, IgnoreCase, wielowierszowe i Singleline) zamiast tego można podać przy użyciu wbudowanych opcji znak we wzorcu wyrażenia regularnego.Several options provided by members of the RegexOptions enumeration (in particular, by its ExplicitCapture, IgnoreCase, Multiline, and Singleline members) can instead be provided by using an inline option character in the regular expression pattern. Aby uzyskać więcej informacji, zobacz Regular Expression Options.For details, see Regular Expression Options.

Dotyczy

Zobacz też