Geçersiz regex deseni (RE0001)

Özellik Değer
Kural Kimliği RE0001
Başlık Geçersiz regex deseni
Kategori Stil
Alt kategori Yok
Geçerli diller C#, Visual Basic
Seçenekler Seçenekler bölümüne bakın.

Genel bakış

Bu kural, normal ifade içeren değişmez değer dizesinin gerekli söz dizimine uymadığı yerleri işaretler. Kural, veya gibi //lang=regex //lang=regex,strictregex dizesinin önüne satır içi açıklama veya açıklama eklenmesiyle belirlenen, tanımlanan normal ifade için geçerlidir. İkinci açıklama, regex yorumlaması için katı modu kullanır.

Bu kural yalnızca IDE'dir ve komut satırı senaryoları için geçerli değildir.

Seçenekler

Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir.

Regex olarak tanınan kod için, Araçlar>Seçenekler>Metin Düzenleyicisi>C# | Visual Basic>Gelişmiş'i seçerek Visual Studio'daki seçenekleri ayarlarsınız. Normal İfadeler bölümünde aşağıdaki seçenekler kullanılabilir:

Özellik Açıklama
Normal ifadeleri renklendirme Normal ifadelerin renklendirilip renklendirmeyeceğini belirtir.
Geçersiz normal ifadeleri bildirme Geçersiz normal ifadelerin raporlanıp rapor edilmeyeceğini belirtir.
İmleç altında ilgili bileşenleri vurgulama Hızlı Eylemler'in
vurgulama kullanıp kullanmadığını
belirtir.
Tamamlanma listesini göster IntelliSense kod tamamlamanın gösterilip gösterilmeyeceğini belirtir.

Örnek

Aşağıdaki kod parçacığında geçersiz normal ifadeye sahip bir örnek gösterilmektedir.

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

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

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none olarak ayarlayın.

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

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.