正規表現パターンでシンボルを使用して一致を見つけたいのですが、それらを置き換えたくありません。これは、C# でのクラスと名前空間の操作用です。
例えば:
MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests
次のように置き換える必要があります。
MyNamespaceLib.EntityDataModel.TestsMyClass+MyInnerClass
(注: "Tests" のみが名前空間部分の最後に表示される場合に置換され、クラス/名前空間名の一部である場合には置換されません)
一致を見つける際に最初の部分を正しく取得することができましたが、置換された一致でシンボルを維持するために戦っています。
これまでのところ、私は持っています:
var input = "MyNamespaceLib.EntityDataModelTests.TestsMyClassTests+MyInnerClassTests";
var output = Regex.Replace(input, "Tests[.+]|$", "");
非キャプチャ グループを使用してみましたが、使用しようとしている方法を意図したものではないと思われます。
ありがとう!