Недопустимый шаблон 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
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.