VS2012 正则表达式 动态插入 动态替换 (查找和替换工具)

本文介绍如何利用Visual Studio内置的正则表达式功能实现复杂的文本查找与替换操作,特别是通过动态插入来完成自定义格式的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用VS做编码开发时,我们常会用到其自带的"查找和替换"这个工具。

关于用正则替换,有一些容易被遗忘的非常有用的功能。比如,正则动态插入并替换。

通常,如果我们要查找源文件中的固定字符“A”,并替换成固定字符“B”,那么简单,只需分别在查找框输入“A”和替换框输入“B”,然后点查找、替换按钮就可以了,这个大家都用熟了。

考虑一下复杂点的,麻烦点的情况:

如果我们要将 “//这是A” 、//这是B”、//各种字符”,替换成如下:

/// <summary>
///这是A
/// </summary>

/// <summary>
///这是B
/// </summary>

/// <summary>
///各种字符
/// </summary>

那么就要使用正则来查找,并且,也用正则来替换。

查找“//xxx”的正则表达式,可以这么写://(.{1,})  大家也可以写成其他样子的,自由发挥,只要能正确匹配查找就可以了。

替换的表达式,先分析一下替换的字符,如下:

/// <summary>  这行是固定字符
/// XXX              这行///后面的XXX是动态的,XXX是从被替换的字符中查找匹配得来,再插入这里的。
/// </summary> 这行是固定字符

由于替换的字符中,有些是动态查找出来,再原样插入并替换回去的,这就需要动态插入的支持。

变态的是,强大得近乎变态的微软制造出的强大而变态的VS自带的“查找和替换”工具,支持正则动态插入!

其表达式如下:

/// <summary>\n/// $1 /// </summary>\n

细心的你,一定一眼就发现了“$1” 这个奇怪的写法,你可能已经猜出它的作用了,没错!它就是//(.{1,})表达式的第1个匹配项,$2是第2个匹配项,$3是第3个匹配项……以此类推。 扩展思考一:那第0个匹配项呢? 扩展思考二:为什么$1后面没有\n ?

因此:

//(.{1,}) 填入查找框中。

/// <summary>\n/// $1 /// </summary>\n  填入替换框中。

点击查找并替换按钮,就会将源文件中的 //xxx 替换成

/// <summary>
/// xxx
/// </summary>

写到这,大家都已经知道是什么回事,并也知道什么用了。

如果大家还不懂,那就是我写得不够好,还请见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值