Eşleşmeleri bulmak için bir RegEx deseninde semboller kullanmak istiyorum ancak bunları değiştirmek istemiyorum. Bu C# sınıf ve ad alanı manipülasyonu içindir. ÖrneğinRegEx - Sembolleri kullanarak eşleştirin ancak onları değiştirmeyin.
:
MyNamespaceLib.EntityDataModel.TestsMyClass+MyInnerClass
(Not sadece "Testleri" görüntülendiğinde değiştirin:
MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests
olarak değiştirilmelidir sonunda ad alanı bölümü ve sınıf/ad alanı adının bir parçası olmadığı zaman)
Eşleşmeleri bulmak için ilk bölümü doğru bulmayı başardım, ancak sembolleri değiştirilen eşleşmede tutmak için mücadele ediyorum.
var input = "MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests";
var output = Regex.Replace(input, "Tests[.+]|$", "");
Ben olmayan bir yakalama grubunu kullanarak denedim, ama ben yol için tasarlanmadığı şüpheli:
Şimdiye kadar var onu kullanmaya çalışıyor.
Teşekkürler!
Hayır, tam tersi, ".", "+" Veya satır sonu ile sonlanan eşleşmeleri değiştirmek istiyorum. Ancak "Testler" kelimesi bir ad alanı veya sınıf adı içinde görünüyorsa, değiştirilmemelidir. – Steve
@ user1927385: 'Testler (?! [^. +])', Sonra. – Ryan
Güzel, bu mükemmel çalıştı. Regex'te hiç meraklı kullanmadım, o yüzden biraz daha okuyacağım. Teşekkürler minitech. – Steve