RegexSmith
Düzenli ifadeler, yazıldıkları yerde açıklanır ve test edilir. C#'ta bir desenin üzerine gelin: her parça için sade bir dille bir satır, renkli grupları ve eşleşen dizeler; takılabilecek desenlerin altı çizili görünür; kendi örneklerinizi RegexSmith Test Aracı'nda deneyin ve deseni tek tıklamayla koda geri yazın.
Ücretsiz · Visual Studio 2022 ve 2026 · 14 arayüz dili · telemetri yok
Neden RegexSmith
![Bir [GeneratedRegex] deseninin üzerinde bilgi kartı: grupları renklendirilmiş desen, her parça için sade bir dille bir satır, eşleşen örnekler ve eşleşmeyen bir örnek, ve ✓ güvenli durumu](../../regexsmith/marketplace/hero.png)
Sözdizimi dersi değil, sade bir dil
^(?<year>\d{4})-(?<id>\d{1,5})$ şuna dönüşür: “Metnin başı”, “Tam olarak 4 rakam”, “1 ile 5 arası rakam” — her parça için bir satır, kendi grubunun altında, her grup kendi renginde.
Gerçek motor tarafından denetlenir
Karttaki örnekler ve test aracındaki her sonuç, çağrının seçenekleriyle doğrudan .NET düzenli ifade motorundan gelir. Gördüğünüz, uygulamanızın yapacağı şeydir.
Takılabilecek desenler
([a-z0-9]+\.?)+ zararsız görünür, ama neredeyse eşleşen uzun bir dizede bir isteği dondurabilir. RegexSmith bu tür tekrarların altını çizer ve Ctrl+. ile düzeltir.
Ücretsiz, koşulsuz
Abonelik yok, “pro” sürüm yok, veri toplama yok, Çıktı penceresinde ya da başlangıçta mesaj yok. Desenler ve örnekler bilgisayarınızda kalır. Sizden isteyeceğimiz tek şey — bir süre kullandıktan sonra — Marketplace'te bir değerlendirme. Visual Studio 2022 ve 2026'da, x64 ve ARM64'te çalışır.
Özellikler
- C#'ta bir desenin üzerinde bilgi kartı: grupları renklendirilmiş desen, her parça için sade bir dille bir satır, renkli grup etiketleri ve bir durum — ✓ güvenli, ⚠ takılabilir veya ✕ geçersiz.
- Grup alt çizgileri: doğrudan kodda her yakalama grubunun altında grubun renginde ince bir çizgi; iç içe gruplar daha aşağıda durur.
- Desenden üretilen örnekler — eşleşen iki dize ve eşleşmeyen bir dize — gerçek .NET motoru tarafından denetlenir.
- RX001: üstel süre alabilen tekrarların altında dalgalı çizgi, Ctrl+. içinde düzeltmeler ve önce/sonra önizlemesiyle.
- Bul Sonuçları'nın yanına yerleşen RegexSmith Test Aracı: ✓/✗ beklentileriyle örnekleriniz, vurgulanan eşleşmeler ve gruplar, bir grup tablosu ve bir Değiştir sekmesi.
- Koda uygula: düzenlenen desen, seçenekleriyle birlikte aynı türden dize sabitine tek bir Geri Al adımı olarak geri yazılır.
- xUnit, NUnit veya MSTest için Birim testi olarak kopyala — örnekleriniz test durumlarına dönüşür.
Bilgi kartı
Bir desenin dizesinin üzerine gelin; Visual Studio'nun olağan araç ipucuna bir RegexSmith kartı eklenir: desenin ne anlama geldiği, neyle eşleştiği ve güvenli olup olmadığı.

Nerede çalışır
C# dosyalarında, şunların deseni üzerinde:
RegexOptionsile veya olmadannew Regex("…");- statik
Regex.IsMatch,Match,Matches,Replace,SplitveCountyöntemleri; [GeneratedRegex("…")];[RegularExpression("…")]— kart bu durumda Doğrulama: değerin tamamı eşleşmeli der;- bunlardan birinin kullandığı, aynı dosyadaki bir
const string.
Normal, birebir (@"…") ve ham ("""…""") dizeler derleyicinin okuduğu gibi okunur; bu yüzden "\\d" ve @"\d" aynı desendir.
Kart neyi gösterir
| Ekranda | Anlamı |
|---|---|
| RegexSmith · .NET normal ifadesi · IgnoreCase | Desenin türü ve çağrıdan okunan seçenekler; sağda durum. |
| Desen | Her yakalama grubunun parantezleri kendi renginde, içi o renkte altı çizili; metin tema rengini korur, böylece okunaklı kalır. |
| Tam olarak 4 rakam | Her parça için sade bir dille bir satır — “Metnin başı”, “Şu metinlerden biri: ‘jpg’, ‘png’”, “1 ile 5 arası rakam” — kendi grubunun altında. Çok uzun bir desen … N tane daha ile biter. |
| Grup etiketleri | Her grubun adı veya numarası kendi renginde bir etikette — desendeki ve kodun altındaki renklerle aynı. |
| ✓ Eşleşir: … ✗ Eşleşmez: … | Desenden üretilen ve gerçek .NET motoru tarafından denetlenen, eşleşen iki dize ve eşleşmeyen bir dize. Boşluklar soluk noktalar olarak görünür. |
| ▶ Deseni test et… | Deseni RegexSmith Test Aracı'nda açar. |
Durum
| Ekranda | Anlamı |
|---|---|
| ✓ güvenli | .NET deseni kabul eder ve içindeki hiçbir şey felaket düzeyinde geri izleme yapamaz. |
| ⚠ takılabilir | Bir tekrar, neredeyse eşleşen uzun bir girdide üstel süre alabilir; kart bunun hangi tür olduğunu (RX001) ve Ctrl+.'nın düzeltmeler sunduğunu söyler. |
| ✕ geçersiz | Motor deseni reddeder; kart onun mesajını gösterir: .NET bu deseni kabul etmiyor: … |
“Güvenli” yalnızca şu anlama gelir: .NET deseni kabul eder ve desen takılamaz. Amaçladığınız şeyle eşleştiği anlamına gelmez — örnekler ve test aracı bunun içindir.
Grup alt çizgileri
Bir desenin her yakalama grubu doğrudan kodda kendi renginde ince bir çizgi alır — karttakiyle aynı renk. Beş gruplu uzun bir desen bir bakışta okunabilir: hangi kısım yıl, hangisi kimlik.
Başka bir grubun içindeki grup biraz daha aşağıda durur, böylece iki çizgi de görünür kalır. Renkler sırayla gelir: somon, yeşil, mavi, mor, kehribar, camgöbeği — ve yeniden.
Alt çizgiler ayarlardan kapatılabilir: Yakalama gruplarının altını çiz.
Takılabilecek desenler
Bazı desenler, neredeyse eşleşen uzun bir dizede üstel süre alır — bir düzenli ifadenin bir web isteğini dondurmasının klasik yolu. RegexSmith bunları biçimlerinden tanır ve tekrarın altına bir uyarı dalgalı çizgisi koyar; nedenini görmek için üzerine gelin.
![([a-z0-9]+\.?)+ altında bir RX001 dalgalı çizgisi, açık Ctrl+. menüsü ve düzeltmenin önizlemesi: eski desen üstü çizili, yenisi atomik bir grupla](../../regexsmith/marketplace/backtracking.png)
Altı çizilenler (RX001)
- İç içe yineleme:
(a+)+,([a-z0-9]+\.?)+— aynı karakterlerden oluşan bir dizi, iç ve dış tekrar arasında çok sayıda farklı şekilde bölünebilir. - Aynı karakterlerle eşleşen alternatiflerin yinelenmesi:
(\w|\d)+— bir rakamı iki dal da alabilir, bu yüzden her rakam işi ikiye katlar.
Atomik grupların veya ileri/geri bakışların içinde değil ve RegexOptions.NonBacktracking ile asla — orada bu olamaz.
Ctrl+. içindeki düzeltmeler
İmleci dalgalı çizginin üzerine getirin ve Ctrl+. tuşlarına basın — her düzeltme bir önizleme gösterir: desenin önceki (üstü çizili) ve sonraki hali.
| Düzeltme | Ne yapar |
|---|---|
| İç yinelemeyi atomik yap: (?>…) | İç tekrarı (?>…) içine alır. Aynı dizeler eşleşir; yineleme artık pek çok şekilde bölünemez. |
| RegexOptions.NonBacktracking kullan (.NET 7+) | Seçeneği çağrıya ekler. Her girdide doğrusal süre; .NET 7 veya üstü gerekir. Yalnızca desen izin verdiğinde sunulur — geri başvuru, ileri/geri bakış, atomik veya dengeleme grubu, koşul olmamalıdır. |
| Bu deseni RegexSmith'te test et | Deseni test aracında açar — yalnızca riskli olanlar değil, her desen üzerinde sunulur. |
RX001 ayarlardan (Düzenleyicideki ipuçları) veya araç ipucundaki Bu tür ipucunu gösterme bağlantısıyla kapatılabilir; Ctrl+. düzeltmeleri kalır.
Test aracı
RegexSmith Test Aracı, Bul Sonuçları'nın yanına yerleşmiş olarak açılır. Desen koddan gelir ve ona bağlı kalır: kendi örneklerinizde deneyin, değiştirin ve geri yazın.

Nasıl açılır
- Bilgi kartında ▶ Deseni test et…;
- Bir desen üzerinde Ctrl+. › Bu deseni RegexSmith'te test et;
- Bir C# dosyasında sağ tıklama › Normal ifade desenini test et;
- Görünüm › Diğer Pencereler › RegexSmith Test Aracı — koda bağlı değil: bir deseni denemek için bir yer.
Desen ve seçenekleri
En üstte desenin dosyası ve satırı — oraya gitmek için tıklayın. Altında desen kutusu, durum satırı (✓ güvenli, ⚠ takılabilir veya motorun hatası, ardından M örnekten N tanesi beklendiği gibi · ms) ve seçenek çipleri: IgnoreCase, Multiline, Singleline, IgnorePatternWhitespace, ExplicitCapture, RightToLeft, CultureInvariant. Her değişiklik hemen yeniden çalıştırılır.
Örnekler ve beklentiler
İlk seferde kartın örnekleri oradadır: eşleşmesi gereken iki ve eşleşmemesi gereken bir örnek. Bir örnek ekleyip Enter'a basın… alanına yenisini yazın; düzenlemek için bir örneğe tıklayın, ✕ onu kaldırır. Her örneğin önündeki işaret ne yapması gerektiğini söyler — değiştirmek için tıklayın:
| Ekranda | Anlamı |
|---|---|
| ✓ | eşleşmeli |
| ✗ | eşleşmemeli |
| – | beklenti yok, yalnızca göster |
Tersini yapan örnek kırmızıya döner — ✗ eşleşti veya ✗ eşleşme yok — böylece örnekler desenin küçük bir belirtimine dönüşür. Eşleşmeler renklendirilir, gruplar kendi renklerinde altı çizilir, boşluklar nokta olarak gösterilir. 1 saniyeden uzun süren bir çalıştırma ⏱ çok yavaş ile durur.
Seçili örneğin grupları, seçili örneğin her eşleşmesini listeler: önce tüm eşleşme, sonra her grup değeri ve konumuyla (hiç katılmadığında yakalanmadı).
Değiştir
Değiştir sekmesi bir değiştirme kutusu ekler — $1, ${name}, $ için $$ — ve her örnek için sonucu, Regex.Replace'in vereceği şekilde gösterir.
Kopyala, geri al, uygula
Birim testi olarak kopyala, örneklerinizi içeren bir testi xUnit, NUnit veya MSTest için panoya koyar — belirtim test projesine taşınır.
Geri al, koddaki desene ve seçeneklere geri döner; örnekler kalır.
Koda uygula, deseni seçenekleriyle birlikte önceki türüyle aynı sabit olarak (normal, birebir veya ham) geri yazar — tek bir Geri Al onu geri alır. Test aracı açtıktan sonra o kod değiştiyse hiçbir şey yazılmaz: test aracını desenden yeniden açın.
Örnekler her desen ve her çözüm için %LocalAppData%\RegexSmith\samples içinde hatırlanır, böylece bir dahaki sefere zaten oradadır. Depoya hiçbir şey girmez.
Ayarlar
Araçlar › Seçenekler › SmithWorks › RegexSmith. Her seçeneğin ne yaptığına dair kısa bir açıklaması vardır.
| Seçenek | Varsayılan |
|---|---|
| Üzerine gelindiğinde desenleri açıkla | açık |
| Yakalama gruplarının altını çiz | açık |
| RX001 Felaket düzeyinde geri izleme | açık |
| Marketplace'te değerlendirme iste | açık |
En altta: Varsayılanlara sıfırla, Belgeler, Marketplace'te değerlendir ve Geri bildirim gönder.
Ayarlar %LocalAppData%\RegexSmith içinde saklanır.

SSS
RegexSmith herhangi bir veri gönderiyor mu?
Hayır. Desenler açık belgeden okunur ve bilgisayarınızda çalıştırılır; örnekler %LocalAppData%\RegexSmith içinde saklanır. Ağ isteği yok, telemetri yok.
Kart “✓ güvenli” diyor. Desen doğru mu?
Mutlaka değil. “Güvenli”, .NET'in deseni kabul ettiği ve içindeki hiçbir tekrarın felaket düzeyinde geri izleme yapamayacağı anlamına gelir. Amaçladığınız şeyle eşleşip eşleşmediğini örnekler gösterir: test aracında onları ✓ veya ✗ olarak işaretleyin.
Desenimin üzerinde neden kart yok?
Kart, RegexSmith'in desen olduğunu bildiği bir dize sabitinin üzerinde görünür: new Regex'in, statik bir Regex yönteminin, [GeneratedRegex] veya [RegularExpression]'ın bağımsız değişkeni ya da orada kullanılan aynı dosyadaki bir sabit. Çalışma zamanında oluşturulan bir desen (birleştirilmiş, ayarlardan okunmuş) okunamaz. Ayarlardaki Üzerine gelindiğinde desenleri açıkla seçeneğini de kontrol edin.
Hangi düzenli ifade motoru kullanılıyor?
Visual Studio'nun kendisinin üzerinde çalıştığı .NET düzenli ifade motoru, çağrının seçenekleriyle. RegexOptions.NonBacktracking (.NET 7+) da çağrıdan okunur; örnekler bu durumda olağan motorda çalışır ve her iki şekilde de aynı dizeler eşleşir.
Koda uygula hiçbir şey yapmadı.
Test aracı açtıktan sonra desenin kodu değişti; bu yüzden RegexSmith artık deseni barındırmıyor olabilecek bir yere yazmaz — test aracı bunu düğmelerin altında söyler. Test aracını desenden yeniden açın. Kodda seçenekler için yer olmadığında ([RegularExpression] seçenek almaz) desen yazılır, seçenekler yazılmaz.
VB.NET, JavaScript veya TypeScript'te çalışıyor mu?
1.0'da değil: yalnızca C#. Diğer diller başka motorlar kullanır; birine ihtiyacınız varsa Feedback deposunda sorun.
Bir sorunu nereye bildirebilir veya bir özellik önerebilirim?
GitHub'daki Feedback deposunda bir issue açın — hatalar ve fikirler için formlar var (lütfen özel adları değiştirin). Marketplace'teki Q&A sekmesini de kullanabilirsiniz.
Değişiklik günlüğü
1.0.1
- Düzenleyicideki ipuçlarının seçenekler sayfasında kendi listesi var ve araç ipucundaki bir bağlantı, bir ipucu türünü gördüğünüz yerde kapatır.
1.0.0
- İlk sürüm: sade dilde döküm, renkli gruplar, .NET motoru tarafından denetlenen örnekler ve durum içeren bilgi kartı; kodda grup alt çizgileri; takılabilecek desenler için RX001, Ctrl+. içinde atomik ve NonBacktracking düzeltmeleriyle; beklentiler, gruplar, Değiştir, Birim testi olarak kopyala ve Koda uygula içeren RegexSmith Test Aracı; tek seferlik bir değerlendirme isteği.