读取源代码时要获取源代码中类的类名称 有几种情况如下:
   public class Test  {}
   public class Test:Iservice  {}
   public static class Test:Iservice  {}
   public sealed class Test:Iservice  {}
    
 要取得Test。
    代码中可能也会有继承基类的构造函数 
 谢谢。

解决方案 »

  1.   

    表达式:
     (.*)?class\s+([^\s]*)\s*(:)*\s*[^{]*{[^}]*}  
     
    文本:
     public class Test  :   Iservice  {}    区分大小写 多行模式 $&: public class Test  :   Iservice  {} 
     $1: public 
     $2: Test 
     $3: : 
      

  2.   


    表达式:
     (.*)?class\s+([^\s|^:]*)?\s*[^{]*{[^}]*} 
    (.*)?class\s+([^\s|^:]*)?\s*[^{]*{[^}]*} 
     
     
    文本:
      public class Test  {} 
      public class Test : Iservice  {} 
      public static class Test:Iservice  {} 
      public sealed class Test:Iservice  {}  
     public class Test  {} 
      public class Test : Iservice  {} 
      public static class Test:Iservice  {} 
      public sealed class Test:Iservice  {}  
     
     
      区分大小写 多行模式 $&:   public sealed class Test:Iservice  {} 
     $1:   public sealed 
     $2: Test 
      

  3.   

    谢谢楼上这位大哥
     其实我只要获得 public sealed class Test 或者public sealed class Test:这部分就可以了。小弟不才,看了点文档写了个 请指点
    public(\\s)+(.*)class(\\s)+[A-Za-z0-9_]+
      

  4.   

    还有这种 。。 
    public partial class Service1 : ServiceBase
      

  5.   

    只要类名Test?
    (?i)(?<=class\s+)\w+