文档章节

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

o
 osc_wws45aot
发布于 2019/08/21 18:23
字数 172
阅读 12
收藏 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, "");

  

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

array_map函数在PHP类中调用内部方法简介

array_map函数在PHP类中调用内部方法简介 https://blog.csdn.net/h330531987/article/details/76034742

MikeMei
20分钟前
15
0
sonarqube扫描 c#项目 显示 this project is empty 解决扫描结果为空的问题

sonar7 以后版本,默认的 sonar-scanner 加 sonar-project.properties 配置文件,扫描c#的项目回出现,扫描不报错,但是显示结果为空. jenins 在linux 环境中要想扫描 c#项目必须使用 dotnet-son...

ksa呀桃花树旁的小怪兽
23分钟前
7
0
建造者模式Builder

一 概述 建造者模式:用于对复杂对象的建造,与工厂模式不同的是,建造者的目的在于把复杂构造过程从不同对象展现中抽离出来,使得同样的构造工序可以展现出不同的产品对象。 二 使用示例 2....

小明不觉小
24分钟前
5
0
如何复制字典并仅编辑副本 - How to copy a dictionary and only edit the copy

问题: Can someone please explain this to me? 有人可以向我解释一下吗? This doesn't make any sense to me. 这对我来说毫无意义。 I copy a dictionary into another and edit the seco......

fyin1314
25分钟前
9
0
Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂

1 前言 Kubernetes又简称k8s,是Google开源的容器集群管理系统,最近也是火热。闲来无事(为了发文),捣鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也记录一下。 另外,Docker相关的概念...

南瓜慢说
29分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部