如何匹配没有特定类别的方法

本文关键字:方法 何匹配 | 更新日期: 2023-09-27 17:56:05

我需要从几个没有特定类别的类中删除一些测试

我如何匹配比?

在这个例子中,我只想删除方法'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*}$)

并替换为''(空字符串)

查看演示

注意1:我假设您的所有方法都以public开头,如果没有,您可以使用以下内容:

(?<!]'s*)(public|private|protected)'s+void[^[]+(?='[|'s*}'s*}$)

注2:我还假设您的方法中不会有任何[]