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.