我需要从几个类中删除一些没有特定类别的测试
我怎么匹配?
在这个例子中,我想只删除方法' Bar'和' BarTwo'
namespace MyNameSpace
{
/// <summary>
/// Some Stuff
/// </summary>
public class MyClass
{
[CategoryA]
public void Foo()
{
}
public void Bar()
{
}
[CategoryA]
public void Baz()
{
}
public void BarTwo()
{
}
}
}
答案 0 :(得分:0)
您可以使用以下内容进行匹配:
(?<!]\s)public\s+void[^[]+(?=\[|\s*}\s*}$)
并替换为''
(空字符串)
请参阅DEMO
注1:我认为您的所有方法都以public
开头,否则您可以使用以下内容:
(?<!]\s*)(public|private|protected)\s+void[^[]+(?=\[|\s*}\s*}$)
注2:我还假设您的方法中不存在任何[
或]
。