明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 584|回复: 1

[其它] 正则表达式在.Net的应用

  [复制链接]
发表于 2024-6-13 15:36:26 | 显示全部楼层 |阅读模式
本帖最后由 fangmin723 于 2024-6-13 16:24 编辑

13、正则表达式删除C/C++所有注释和多余空行
    13.1、正则表达式删除空行
        在编写文本文件时,我们经常需要去除多余的空行,使得文本内容更紧凑美观。本文将简要介绍如何使用正则表达式快速删除多余的空行。
        正则表达式(Regular Expression),是一种用来描述或匹配一系列符合某个语法规则的字符串的方法。在实际应用中,正则表达式常常用来匹配字符串中的特定文本,比如空白符、数字、字母和符号等。


        本文中使用正则表达式匹配空白行,具体正则表达式如下:
            ^\s*$:只能匹配不能删除
            \n\s*$:匹配删除
        解释如下:
            ^ 表示匹配字符串的开头
            \s 表示匹配任意空白符,包括空格、制表符和换行符等
            * 表示匹配前面的字符 0 次或多次
            \n 表示匹配换行符
            $ 表示匹配字符串的结尾。
            
        组合在一起,上述正则表达式可以匹配空行,也就是仅包含空白符的行。
            ^\s*\n
        多行连续空行变一行空行:
            ^\s*\n\s*$


    13.2、行注释
        一般:
            \/\/.*
        或
            \/\/.*?$
        代码含有有网址等信息:
            (?<!https:|http:)\/\/.*?$


    13.3、块注释
        /\*[\w\W\n]*?\*/
        
    13.4、所有注释
        \/\/.*?$|/\*[\w\W\n]*?\*/
        
14、正则表达式捕获组替换
    例1:
        数据源:
        /// <summary>
        /// 范围计算机 CreationClassName 属性的值。
        /// </summary>
        public object SystemCreationClassName
        {
            get => this.Properties[""].Value;
        }
        
        批量在""中添加对应的属性名称:
        查找:(?<=public object )(\w*)(\n*\s*\{\n*\s*get => this\.Properties\[")
        替换:$1$2$1


        结果:
        /// <summary>
        /// 范围计算机 CreationClassName 属性的值。
        /// </summary>
        public object SystemCreationClassName
        {
            get => this.Properties["SystemCreationClassName"].Value;
        }

        
    ========================================================
    例2:
        数据源:
            public UInt16[] BiosCharacteristics { get; private set; }
            
        批量替换:
            查找:(public )(\w*\[?\]? )(\w*) { get; private set; }
            替换:$1object $3 => this.Properties["$3"].Value;
        结果:
            public object BiosCharacteristics => this.Properties["BiosCharacteristics"].Value;


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 04:29 , Processed in 0.196809 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表