Neplatný vzor regulárního výrazu (RE0001)
Vlastnost | Hodnota |
---|---|
ID pravidla | RE0001 |
Název | Neplatný vzor regulárního výrazu |
Kategorie | Styl |
Podkategorie | – |
Příslušné jazyky | C#, Visual Basic |
Možnosti | Viz část Možnosti . |
Přehled
Toto pravidlo označí místa, kde literálový řetězec obsahující regulární výraz neodpovídá požadované syntaxi. Pravidlo se vztahuje na identifikovaný regulární výraz, který je určen zahrnutím vloženého komentáře nebo komentáře před řetězcem regulárního výrazu, například //lang=regex
nebo //lang=regex,strict
. Druhý komentář používá pro interpretaci regulárních výrazů striktní režim.
Toto pravidlo je pouze integrované vývojové prostředí (IDE) a neplatí pro scénáře příkazového řádku.
Možnosti
Možnosti určují chování, které má pravidlo vynutit.
Pro kód rozpoznaný jako regulární výraz nastavíte možnosti v sadě Visual Studio tak, že vyberete Editor Možností>nástroje>v textovém editoru>C# | Visual Basic>Advanced. V části Regulární výrazy jsou k dispozici následující možnosti:
Vlastnost | Popis |
---|---|
Obarvení regulárních výrazů | Určuje, zda se mají obarvit regulární výrazy. |
Hlášení neplatných regulárních výrazů | Určuje, jestli se mají hlásit neplatné regulární výrazy. |
Zvýraznění souvisejících komponent pod kurzorem | Určuje, jestli rychlé akce používají zvýraznění. |
Zobrazit seznam dokončení | Určuje, jestli se má zobrazit dokončování kódu IntelliSense. |
Příklad
Následující fragment kódu ukazuje příklad s neplatným regulárním výrazem.
// Code with violations
// lang=regex
string pattern = @"\b[M]\w+\";
// Fixed code
// lang=regex
string pattern = @"\b[M]\w+";
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable RE0001
// The code that's violating the rule is on this line.
#pragma warning restore RE0001
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none
konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.RE0001.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.