Padrão regex inválido (RE0001)

Propriedade Valor
ID da regra RE0001
Título Padrão regex inválido
Categoria Estilo
Subcategoria N/D
Linguagens aplicáveis C#, Visual Basic
Opções Consulte a seção Opções .

Visão geral

Esta regra sinaliza locais onde uma cadeia de caracteres literal que contém uma expressão regular não está em conformidade com a sintaxe necessária. A regra se aplica a uma expressão regular identificada, que é determinada pela inclusão de um comentário embutido ou comentário anterior à cadeia de caracteres regex, como //lang=regex ou //lang=regex,strict. O último comentário usa o modo estrito para interpretação regex.

Essa regra é somente IDE e não é aplicável a cenários de linha de comando.

Opções

As opções especificam o comportamento que você quer que a regra imponha.

Para código reconhecido como regex, você define as opções no Visual Studio selecionando Ferramentas>Opções>Editor>de texto C# | Visual Basic>Advanced. As seguintes opções estão disponíveis na seção Expressões regulares :

Propriedade Descrição
Colorir expressões regulares Especifica se as expressões regulares devem ser coloridas.
Relatar expressões regulares inválidas Especifica se as expressões regulares inválidas devem ser relatadas.
Realce componentes relacionados sob o cursor Especifica se as Ações Rápidas
usam realce.
Mostrar lista de conclusão Especifica se a conclusão do código IntelliSense deve ser exibida.

Exemplo

O trecho de código a seguir mostra um exemplo com uma expressão regular inválida.

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

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

Suprimir um aviso

Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.