首页 > Windows开发 > 详细

C#正则实现匹配一块代码段

时间:2019-08-21 19:13:22      阅读:129      评论:0      收藏:0      [点我收藏+]

最近项目,生成聚合网关,但是生成的网关文件中,存在着不必要的代码段,比如一个类A,类B等

之前一直使用手动删除,这么做劳民伤财,浪费时间,考虑使用正则写一个工具实现自动删除。

 

正则写法:

string pattern = @"public partial class A(\s|\S)+?(}\s*?){2}";
Regex regex = new Regex(sortPattern, RegexOptions.Multiline);
text = regex.Replace(text, "");

  

以上可以将

public partial class A
{
   // properties
  ....
  public string ToJson() 
  {
     return Newtonsoft.Json.JsonConvert.SerializeObject(this);
  }
}

如果遇到简单的类型代码片段,比如枚举

public enum B
{
  a = 0,
  b = 1
}

则可以使用

string enumPattern = @"(?is)public enum.*?(}\s*)";
Regex enumRegex = new Regex(enumPattern, RegexOptions.Multiline);          
text = enumRegex.Replace(text, "");

  

C#正则实现匹配一块代码段

原文:https://www.cnblogs.com/walt/p/11390407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!