Érvénytelen regex minta (RE0001)

Ingatlan Érték
Szabályazonosító RE0001
cím Érvénytelen regex minta
Kategória Stílus
alcsoport Nincs adat.
Alkalmazandó nyelvek C#, Visual Basic
Beállítások Lásd a Beállítások szakaszt .

Áttekintés

Ez a szabály olyan helyeket jelöl, ahol egy reguláris kifejezést tartalmazó literális sztring nem felel meg a szükséges szintaxisnak. A szabály egy azonosított reguláris kifejezésre vonatkozik, amelyet a regex sztringet megelőző beágyazott megjegyzés vagy megjegyzés belefoglalása határoz meg, például //lang=regex vagy //lang=regex,strict. Az utóbbi megjegyzés szigorú módot használ a regex értelmezéshez.

Ez a szabály IDE-only, és parancssori forgatókönyvekre nem alkalmazható.

Beállítások

A beállítások határozzák meg a szabály kényszerítéséhez használni kívánt viselkedést.

Regexként felismert kód esetén a Beállításokszövegszerkesztő>C#>Visual Basic>Advanced elemével | > állíthatja be a beállításokat a Visual Studióban. A Reguláris kifejezések szakaszban a következő lehetőségek érhetők el:

Ingatlan Leírás
Reguláris kifejezések színezése Megadja, hogy színezni kell-e a reguláris kifejezéseket.
Érvénytelen reguláris kifejezések jelentése Megadja, hogy érvénytelen reguláris kifejezéseket kell-e jelenteni.
Kapcsolódó összetevők kiemelése a kurzor alatt Meghatározza, hogy a gyorsműveletek
használnak-e kiemelést.
Befejezési lista megjelenítése Megadja, hogy megjelenjen-e az IntelliSense kódkiegészítés.

példa

Az alábbi kódrészlet egy érvénytelen reguláris kifejezést tartalmazó példát mutat be.

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

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

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.