Ungültiges regex-Muster (RE0001)

Eigenschaft Wert
Regel-ID RE0001
Titel Ungültiges regex-Muster
Kategorie Stil
Unterkategorie Nicht zutreffend
Gültige Sprachen C#, Visual Basic
Optionen Siehe Abschnitt "Optionen ".

Übersicht

Diese Regel kennzeichnet Orte, an denen eine Literalzeichenfolge, die einen regulären Ausdruck enthält, nicht der erforderlichen Syntax entspricht. Die Regel gilt für einen identifizierten regulären Ausdruck, der durch die Einbeziehung eines In Zeilenkommentar oder Kommentars vor der regex-Zeichenfolge bestimmt wird, z//lang=regex. B. oder //lang=regex,strict. Letzterer Kommentar verwendet den strikten Modus für die Regex-Interpretation.

Diese Regel ist nur IDE und gilt nicht für Befehlszeilenszenarien.

Optionen

Optionen geben das Verhalten an, das die Regel erzwingen soll.

Für code, der als regex erkannt wird, legen Sie die Optionen in Visual Studio fest, indem Sie "Extras>Optionen>Text Editor>C# | Visual Basic>Advanced" auswählen. Die folgenden Optionen stehen im Abschnitt "Reguläre Ausdrücke" zur Verfügung:

Eigenschaft Beschreibung
Färben regulärer Ausdrücke Gibt an, ob reguläre Ausdrücke gefärbt werden sollen.
Melden ungültiger regulärer Ausdrücke Gibt an, ob ungültige reguläre Ausdrücke angezeigt werden sollen.
Hervorheben verwandter Komponenten unter dem Cursor Gibt an, ob Quick Actions
Hervorhebungen verwendet.
Abschlussliste anzeigen Gibt an, ob IntelliSense-Codeabschluss angezeigt werden soll.

Beispiel

Der folgende Codeausschnitt zeigt ein Beispiel mit einem ungültigen regulären Ausdruck.

// Code with violations
// lang=regex
string pattern = @"\b[M]\w+\";

// Fixed code
// lang=regex
string pattern = @"\b[M]\w+";

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

#pragma warning disable RE0001
// The code that's violating the rule is on this line.
#pragma warning restore RE0001

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.RE0001.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.