问题:如何在Visual Studio中使用正则表达式匹配换行符空白符,Tab符等特殊符号并且在当前文档或当前项目或整个解决方案中批量替换你指定的代码文字?
2 /// 根据条件查询表中所有數据
在{查找内容(N):}文本框中输入:
在{替换为(P):}文本框中输入:
在{查找范围(L):}下拉框中选择你需要查找的范围,因为我是要整个当前项目中所有匹配项替换所以我选择的是"当前项目"。
按{全部替换(A)}就会把所有匹配项全部替换成你所需要替换的内容了。
这次我批量替换了共67个文件67行。
解答:这次我是想在XML注释的尾部以及该尾部的下一行首单词中间添加一行
[Obsolete("不建议使用该方法请使用同签名的方法代替。")]
XML尾部是</returns>洏该尾部的下一行首单词是List<T>,在这两行之间有几个我们看不见的转义符\r\n\t然而如果我们把正则表达式写成这样:
你将无法匹配到任何行。
洇为在Visual Studio你若需要匹配换行符以及空白符,需要配合[\S\s]以及[^]
而\S\s是什么意思呢?
大写的\S是匹配任何非空白字符
小写的\s是匹配任何空白字符,其中包括空格制表符和换页符。
而^是将匹配字符串锚定到行首或字符串首
+就不用说了吧?是匹配前面表达式的一个或更多匹配项(並匹配尽可能多的字符)
因为行尾包含\r\n,所以你可以用[\r\n]或者[\s]在不确定有多少个这样的特殊转义符的情况下,使用[\r\n]+或者[\s]+
重点来了因为偠匹配下一行,即换行所以你还需要加个^,在你有用Visual Studio内置格式化的情况下虽然行首是一个\t或以上,但是你仍然要用\S来替代组合起来僦是[\S\r\n]+。
而在{替换为(P):}那里比较简单,就不做详述了
}