Nieprawidłowy wzorzec wyrażeń regularnych (RE0001)

Właściwości Wartość
Identyfikator reguły RE0001
Tytuł Nieprawidłowy wzorzec wyrażenia regularnego
Kategoria Styl
Podkategorii Nie dotyczy
Odpowiednie języki C#, Visual Basic
Opcje Zobacz sekcję Opcje .

Omówienie

Ta reguła flaguje miejsca, w których ciąg literału zawierający wyrażenie regularne nie jest zgodny z wymaganą składnią. Reguła ma zastosowanie do zidentyfikowanego wyrażenia regularnego, które jest określane przez dołączenie komentarza wbudowanego lub komentarza poprzedzającego ciąg wyrażenia regularnego, na przykład //lang=regex lub //lang=regex,strict. Ten ostatni komentarz używa ścisłego trybu interpretacji wyrażeń regularnych.

Ta reguła dotyczy tylko środowiska IDE i nie dotyczy scenariuszy wiersza polecenia.

Opcje

Opcje określają zachowanie, które ma być wymuszane przez regułę.

W przypadku kodu rozpoznawany jako wyrażenie regularne należy ustawić opcje w programie Visual Studio, wybierając pozycję Narzędzia>Opcje>Edytor>tekstu C# | Visual Basic>Advanced. Następujące opcje są dostępne w sekcji Wyrażenia regularne:

Właściwości opis
Kolorowanie wyrażeń regularnych Określa, czy kolorować wyrażenia regularne.
Zgłaszanie nieprawidłowych wyrażeń regularnych Określa, czy raportować nieprawidłowe wyrażenia regularne.
Wyróżnianie powiązanych składników pod kursorem Określa, czy funkcja Szybkie akcje
używa wyróżniania.
Pokaż listę uzupełniania Określa, czy ma być wyświetlane uzupełnianie kodu IntelliSense.

Przykład

Poniższy fragment kodu przedstawia przykład z nieprawidłowym wyrażeniem regularnym.

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

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

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.