如何匹配没有特定类别的方法
How to match methods without a specific category
我需要从几个 类 中删除一些没有特定类别的测试
如何匹配比?
在此示例中,我只想删除方法 '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()
{
}
}
}
您可以使用以下方式进行匹配:
(?<!]\s)public\s+void[^[]+(?=\[|\s*}\s*}$)
并替换为 ''
(空字符串)
见DEMO
注意 1 : 我假设你所有的方法都以 public
开头,如果不是,你可以使用以下内容:
(?<!]\s*)(public|private|protected)\s+void[^[]+(?=\[|\s*}\s*}$)
注2:我还假设你的方法中不会有任何[
或]
。
我需要从几个 类 中删除一些没有特定类别的测试
如何匹配比?
在此示例中,我只想删除方法 '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()
{
}
}
}
您可以使用以下方式进行匹配:
(?<!]\s)public\s+void[^[]+(?=\[|\s*}\s*}$)
并替换为 ''
(空字符串)
见DEMO
注意 1 : 我假设你所有的方法都以 public
开头,如果不是,你可以使用以下内容:
(?<!]\s*)(public|private|protected)\s+void[^[]+(?=\[|\s*}\s*}$)
注2:我还假设你的方法中不会有任何[
或]
。