Недопустимый шаблон regex (RE0001)

Свойство Значение
Идентификатор правила RE0001
Заголовок Недопустимый шаблон регулярных выражений
Категория Стиль
Подкатегории Н/П
Применимые языки C#, Visual Basic
Параметры См . раздел "Параметры ".

Обзор

Это правило помечает, где литеральная строка, содержащая регулярное выражение, не соответствует требуемому синтаксису. Правило применяется к определяемому регулярному выражению, которое определяется включением в строковый комментарий или комментариев, предшествующих строке регулярного выражения, например //lang=regex или//lang=regex,strict. Последний комментарий использует строгий режим для интерпретации регулярных выражений.

Это правило доступно только для интегрированной среды разработки и не применимо для сценариев командной строки.

Параметры

Параметры указывают поведение, которое требуется применить правило.

Для кода, распознанного как regex, можно задать параметры в Visual Studio, выбрав "Параметры инструментов>>" в текстовом редакторе>C# | Visual Basic>Advanced. В разделе "Регулярные выражения" доступны следующие параметры:

Свойство Description
Цветовые регулярные выражения Указывает, следует ли цветировать регулярные выражения.
Отчет о недопустимых регулярных выражениях Указывает, следует ли сообщать о недопустимых регулярных выражениях.
Выделение связанных компонентов под курсором Указывает, использует ли быстрые действия
выделение.
Показать список завершения Указывает, следует ли отображать завершение кода IntelliSense.

Пример

В следующем фрагменте кода показан пример с недопустимым регулярным выражением.

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

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

Отключение предупреждений

Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.