Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

RegexOptions-Enumeration

Stellt Enumerationswerte bereit, mit deren Hilfe Optionen für reguläre Ausdrücke festgelegt werden können.

Diese Enumeration verfügt über ein FlagsAttribute-Attribut, das die bitweise Kombination der Memberwerte zulässt.

Namespace:  System.Text.RegularExpressions
Assembly:  System (in System.dll)
[FlagsAttribute]
public enum RegexOptions
Membername Beschreibung
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif None Gibt an, dass keine Optionen festgelegt wurden.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif IgnoreCase Gibt an, dass bei Übereinstimmungen die Groß- und Kleinschreibung berücksichtigt werden soll.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif Multiline Mehrzeilenmodus. Ändert die Bedeutung von ^ und $, sodass sie jeweils dem Anfang und Ende einer beliebigen Zeile und nicht nur dem Anfang und Ende der gesamten Zeichenfolge entsprechen.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif ExplicitCapture Gibt an, dass die einzigen gültigen Aufzeichnungen ausdrücklich benannt oder nummerierte Gruppen in der Form (?<name>...) sind. Dadurch können unbenannte Klammern wie Nicht-Erfassungsgruppen eingesetzt werden, ohne die komplexe Syntax des Ausdrucks (?:...) zu verwenden.
Unterstützt von XNA Framework Compiled Gibt an, dass der reguläre Ausdruck in eine Assembly kompiliert wird. Dies beschleunigt zwar die Ausführung, verlängert jedoch die Ladezeit. Dieser Wert sollte der Options-Eigenschaft nicht zugewiesen werden, wenn die CompileToAssembly-Methode aufgerufen wird.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif Singleline Gibt den Einzeilenmodus an. Ändert die Bedeutung des Punkts (.), sodass dieser jedem Zeichen entspricht (und nicht jedem Zeichen mit Ausnahme von \n).
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif IgnorePatternWhitespace Entfernt Leerraum ohne Escapezeichen aus dem Muster und aktiviert die mit # markierten Kommentare. Der IgnorePatternWhitespace-Wert beeinflusst oder entfernt jedoch keinen Leerraum in Zeichenklassen.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif RightToLeft Gibt an, dass die Suche von rechts nach links und nicht von links nach rechts durchgeführt wird.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif ECMAScript Aktiviert ECMAScript-kompatibles Verhalten für den Ausdruck. Dieser Wert kann nur in Verbindung mit den Werten IgnoreCase, Multiline und Compiled verwendet werden. Bei Verwendung dieses Werts mit allen anderen Werten wird eine Ausnahme ausgelöst.
Unterstützt von XNA Framework 443e8hc7.PortableClassLibrary(de-de,VS.100).gif CultureInvariant Gibt an, dass Unterschiede der Kultur bei der Sprache ignoriert werden. Weitere Informationen finden Sie unter Durchführen kulturunabhängiger Operationen im RegularExpressions-Namespace.

Ein RegexOptions-Wert kann als Parameter für die folgenden Member der Regex-Klasse bereitgestellt werden:

Ein RegexOptions-Wert kann auch als Parameter für den RegexCompilationInfo-Konstruktor angegeben oder direkt der Options-Eigenschaft zugewiesen werden. Das resultierende RegexCompilationInfo-Objekt wird dann im Aufruf der CompileToAssembly-Methode verwendet.

Eine Reihe von Optionen, die von Membern der RegexOptions-Enumeration bereitgestellt werden (insbesondere von den Membern RegexOptions.ExplicitCapture, RegexOptions.IgnoreCase, RegexOptions.Multiline und RegexOptions.Singleline) können stattdessen durch Verwenden eines Zeichens für die Inlineoption im Muster des regulären Ausdrucks bereitgestellt werden. Weitere Informationen finden Sie unter Optionen für reguläre Ausdrücke.

Im folgenden Beispiel werden zwei reguläre Ausdrücke definiert, die wiederholt auftauchende Wörter in Texten identifizieren, aber mit unterschiedlichen RegexOptions-Werten instanziiert werden. Beim ersten regulären Ausdruck wird die Groß- und Kleinschreibung ignoriert, wenn bestimmt wird, ob ein Wort mit dem vorangegangen Wort identisch ist. Beim zweiten regulären Ausdruck wird die Groß- und Kleinschreibung berücksichtigt, d. h., damit ein Wort als Duplikat erkannt wird, muss es in der Groß- und Kleinschreibung exakt mit dem vorangegangenen Wort übereinstimmen.


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 jumped 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 jumped 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 jumped over the lazy dog dog.
//       'fox' repeated at positions 20 and 25
//       'dog' repeated at positions 50 and 54


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ