在 Visual Studio 中使用正则表达式

Visual Studio 使用 .NET framework 正则表明式查找和替换文本。            

系统景况:Windows 8.1
Enterprise Update 2 x64


Visual Studio 二零零六 和最初版本中,Visual Studio
在“查找和替换”窗口中运用自定义正则表达式语法。  本大旨介绍怎样将某些更常用的自定义正则表达式符号转变为
.NET 版本。

支出条件:Mircosoft Visual Studio Ultimate 二零一三 Update 2 RC

用途                                       

新建                                       

旧                                       

新示例                                       

匹配任何单个字符(分行符除外)                                       

.

.

a.o 匹配“around”中的“aro”和“about”中的“abo”,但不匹配“across”中的“acro”。                                       

匹配前面表达式的零个或更多匹配项(并匹配尽可能多的字符)                                       

*

*

a*r 匹配 "rack" 中的 "r", "ark" 中的 "ar" 和 "aardvark" 中的 "aar"                                        

匹配任何字符零次或多次(通配符 *)                                       

.*                                       

.*                                       

c.*e 匹配“racket”中的“cke”,“comment”中的“comme”,和“code”中的“code”。                                        

匹配前面表达式的一个或更多匹配项(并匹配尽可能多的字符)                                       

+

+

e.+e 与“feeder”中的“eede”而不是“ee”匹配。                                       

匹配任一字符一次或多次(通配符 ?)                                       

.+                                       

.+                                       

e.+e 匹配字符串"feeder"中的"eede",但是不匹配"ee"                                        

匹配前面表达式的零个或更多匹配项(并匹配尽可能少的字符)                                       

*?                                       

@

e.*?e 与“feeder”中的“ee”而不是“eede”匹配。                                       

匹配前面表达式的一个或更多匹配项(并匹配尽可能少的字符)                                       

+?                                       

#

“e.+?e”匹配“enterprise”中的“ente”和“erprise”,但不匹配完整的单词“enterprise”。                                       

将匹配字符串锚定到行首或字符串首。                                       

^

^

^car 仅当其在行首出现时才与“car”一次匹配。                                       

将匹配字符串锚定到行尾                                       

\r?$                                       

$

End\r?$ 只有出现在行尾时才与“end”匹配。                                       

匹配一个集合中的任意单个字符                                       

[abc]                                       

[abc]                                       

“b[abc]”匹配“ba”、“bb”和“bc”。                                       

匹配字符范围内的任意字符                                       

[a-f]                                       

[x-y]                                       

be[n-t] 匹配 "between" 中的 "bet", "beneath" 中的 "ben", 和 "beside" 中的 "bes", 但不匹配 "below"。

获取包含在圆括号内的表达式并对其进行隐式编号                                       

()                                       

()                                       

“([a-z])X\1”与“aXa”和“bXb”匹配,但与“aXb”不匹配。".“\1”是指第一个表达式组“[a-z]”。                                       

匹配无效                                       

(?!abc)                                       

~(abc)                                       

“real (?!ity)”匹配“realty”和“really”中的“real”,但不匹配“reality”中的“real”。它还在“realityreal”中找到第二个“real”(但不是第一个“real”)。                                       

匹配不在给定字符集中的任意字符                                       

[^abc]                                       

[^abc]                                       

“be[^n-t]”匹配“before”中的“bef”、“behind”中的“beh”和“below”中的“bel”,但是不匹配“beneath”。                                       

匹配符号之前或之后的那个表达式。                                       

|

|

(sponge|mud) bath 匹配“sponge bath”和“mud bath”。                                       

对反斜杠之后的字符进行转义                                       

\

\

^ \ 匹配 ^ 字符。                                        

指定前一个字符或组出现的次数                                       

{x},其中 x 是指出现的次数                                       

\x,其中 x 是指出现的次数                                       

x(ab){2}x 匹配“xababx”,x(ab){2,3}x 匹配“xababx”和“xabababx”而非“xababababx”。                                       

匹配 Unicode 字符类中的文本,文本中的“X”为 Unicode 数字。                       有关 Unicode 字符的更多信息,请参见 

Unicode 标准 5.2 字符属性。                                       

\p{X}                                       

:X                                       

“\p{lu}”与“Thomas Doe”中的“T”和“D”匹配。                                       

匹配字边界                                       

“\b”(在字符类 \b 之外指定字边界,并在字符类指定 Backspace)。                                       

“<”和“>”指定单词的开头和结尾                                       

“\bin”与“inside”中的“in”匹配,但与“pinto”不匹配。                                       

匹配换行符(即,回车后跟一个新行)。                                       

\r?\n                                       

\n                                       

“End\r?\nBegin”仅当“End”是一行中的最后一个字符串和“Begin”是下一行中的第一个字符串时匹配单词“End”和“Begin”。                                       

匹配任何字母数字字符                                       

\w                                       

:a                                       

“a\wd”与“add”和“a1d”匹配,但不匹配“a d”。                                       

匹配任何空白字符。                                       

(?([^\r\n])\s)                                       

:b                                       

“Public\sInterface”匹配短语“Public Interface”。                                       

匹配任何数字字符                                       

\d                                       

:d                                       

“\d”与和“3456”中的“3”、“23”中的“2”和“1”中的“1”匹配。                                       

匹配 Unicode 字符                                       

\uXXXX,其中 XXXX 表示 Unicode 字符值。                                       

\uXXXX,其中 XXXX 表示 Unicode 字符值                                       

\u0065 匹配字符“e”。                                       

匹配标识符                                       

\b(_\w+|[\w-[0-9_]]\w*)\b                                       

:i                                       

与“type1”匹配,而不是与“&type1”或“#define”。                                       

匹配引号中的字符串                                       

((\".+?\")|(‘.+?’))                                       

:q                                       

匹配单引号或双引号中的任意字符串。                                       

匹配十六进制数                                       

\b0[xX]([0-9a-fA-F])\b                                       

:h                                       

匹配“0xc67f”,不匹配“0xc67fc67f”。                                       

匹配整数和小数                                       

\b[0-9]*\.*[0-9]+\b                                       

:n                                       

匹配“1.333”。                    

难题:怎样在Visual
Studio中央银行使正则表明式相配换行符,空白符,Tab符等特殊符号,并且在此时此刻文书档案或当前项目或任何化解方案中批量沟通你钦赐的代码文字?

  code lines:  \r?$

例子:

  空白行:  ^[\r\n\s]*$

1         /// <summary>  2         /// 根据条件查询表中所有数据  3         /// </summary>  4         /// <param name="tableName">要分页显示的表名</param>  5         /// <param name="fieldShow">以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段</param>  6         /// <param name="fieldOrder">以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC用于指定排序顺序</param>  7         /// <param name="where">查询条件</param>  8         /// <returns></returns>  9         List<T> GetAllData<T>(string tableName, string fieldShow, string fieldOrder, string where) where T : new();

答案:

在Visual Studio IDE 中按 Ctrl+Shift+H 打开[在文件中替换]的窗口,

在{查找内容(N):}文本框中输入:

</returns>[\s]+[^\S\r\n]+List<T>
或者
</returns>[\r\n]+[^\S\r\n]+List<T>

在{替换为(P):}文本框中输入:

</returns>\r\n\t\t[Obsolete("不建议使用该方法,请使用同签名的方法代替。")]\r\n\t\tList<T>

在{查找范围(L):}下拉框中选用,你要求搜索的限制,因为本身是要原原本本当前项目中具备相配项替换,所以本身采纳的是”当前项目”。

按{全体交替(A)},就能够把全部相配项整体替换到你所急需替换的剧情了。

本次自己批量交替了共七十一个文本,67行。

解答:这一次小编是想在XML注释的尾巴以及该后面部分的下一行首单词中间增添一行

[Obsolete("不建议使用该方法,请使用同签名的方法代替。")]

发表评论

电子邮件地址不会被公开。 必填项已用*标注