在 Visual Studio 中使用正则表达式
Visual Studio 2012 使用.NET Framework正则表达式查找和替换文本。 在Visual Studio 2010和早期版本中,Visual Studio在查找的自定义正则表达式语法和替换"窗口。 本主题介绍如何将一些更常用的自定义正则表达式符号转换为.NET版本。
提示
在Windows操作系统,大多数行中的“\ r \ n”结尾(回车后跟一个新行)。这些字符不可见,但是,会出现在编辑器和传递给.NET正则表达式服务。
有关更多信息,请参见 .NET Framework 正则表达式。
提示
有关用于替换模式的正则表达式的信息,请参见 正则表达式中的替代。
Comparing.NET framework正则表达式
可以将用于Visual Studio的早期版本的版本的正则表达式转换为.NET Framework正则表达式通过使用下表中。
用途 |
新建 |
旧 |
新示例 |
---|---|---|---|
匹配任意单个字符(不包括换行符) |
. |
. |
a.o 匹配“around”中的“aro”和“about”中的“abo”,但不匹配“across”中的“acro”。 |
匹配零个或一个上面的表达式的多个匹配项(则匹配字符太多。) |
* |
* |
a*r 在“机架”,“ar”平底船的”和“阿勒河”与“r”土豚” |
匹配任意字符零次或多次通配符(*) |
.* |
.* |
c.*e与“cke”中的“球拍”,“comme”中的“注释”和“代码”在“代码” |
与上面的表达式的一个或多个匹配项(则匹配字符太多。) |
+ |
+ |
e.+e 在“不是馈电线”,但“ee”与“eede”。 |
匹配任意字符一次或多次通配符(?) |
.+ |
.+ |
e.+e在“不是馈电线”,但“ee”与“eede”。 |
匹配零个或上面的表达式(尽可能少的字符匹配的多个匹配项。) |
*? |
@ |
e.*? e 与“ee”不是馈电线”,但“eede”。 |
与上面的表达式(尽可能少的字符的匹配一个或多个匹配项。) |
+? |
# |
e.+? e 与“ente”和“erprise”中的“企业中,”,但不是全字“企业”。 |
锚定匹配字符串到行或字符串的开头 |
^ |
^ |
仅当在一行开始时,显示^car 匹配单词“、”。 |
锚定匹配字符串到行尾 |
\ r? $ |
$ |
仅当出现在行尾,结束\ r? $ 与“”结尾。 |
与设置的任何单个字符 |
[abc] |
[abc] |
b [] abc “BC”与“ba”,bb”,和。 |
与字符范围内的任何字符 |
[] a-f |
[x-y] |
为[] n-t 与“打赌了”中的“之间”,“当前”在“下面的”和“bes”中的“旁边的”,但是,不参见下面”。 |
获取和隐式计算圆括号内包含的表达式 |
() |
() |
([a-z]) X 1 \ 与“aXa "和“不是bXb”,但是,“aXb”。" . “\ 1 "引用第一个表达式组“[a-z]”。 |
无效匹配 |
(!? abc) |
| (abc) |
实际(!? ity) “真”与“实际”中的“不动产”和,但不在“情况中”。 |
与不在指定的字符集的所有字符 |
[^abc] |
[^abc] |
为[] ^n-t 与“bef”中的“一”,“beh”中的“隐藏”和“贝耳”中的“cookie和安全性”,但是,不参见下面”。 |
在符号之后)与该表达式或一个。 |
| |
| |
(sponge|mud) bath 匹配“sponge bath”和“mud bath”。 |
转义反斜杠后的字符 |
\ |
\ |
^ \ 与^字符。 |
指定前面的字符或组的出现的次数 |
{x},其中x是出现的次数 |
\ x,其中x是出现的次数 |
x (ab) {} x 2 与“xababx”和 x (ab) {} x 2,3 与“xababx”和“不是xabababx”,但“xababababx”。 |
与Unicode字符类的文本,“X”为Unicode数字。 有关Unicode字符类的更多信息,请参见 |
\ p {x} |
: x |
\ p{lu} 与“T”和“D”中的“托马斯doe”。 |
与字边界 |
\ b (在字符类之外\ b指定字边界,因此,在字符类指定backspace)。 |
< 和 > 指定单词的开头和结尾 |
\ bin 匹配“在”中的“不在”,但“pinto”。 |
匹配一个换行符(回车后跟一个新行)的IE。 |
\ r? \n |
\n |
结束\ r? \ nBegin 与“结束”,“和"开始”,仅当“结束”是在行中最后一个字符串和时“开始”是在下一行的第一个字符串。 |
与任何字母数字字符 |
\w |
:a |
一个\ wd 与“添加”和“a1d”,而不是d”。 |
与任何空白字符。 |
(? ([^ \ r \ n)] \ s) |
:b |
公共\ sInterface 与该声明“公共接口”。 |
匹配任意数字字符 |
\d |
:d |
\ d 与和“3 "中的“3456 ",“2 " 23 "和“1"中的“1"。 |
匹配Unicode字符 |
\指定Unicode字符值的位置。 |
\指定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] + \ b |
:n |
与“1.333 "。 |