正则表达式在.Net的应用
本帖最后由 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;
}
https://v.qq.com/x/page/o3553dd16kr.html
========================================================
例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;
太深奥了:lol
页:
[1]