在 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字符类的更多信息,请参见

Unicode标准5.2字符属性.

\ 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 "。

请参见

其他资源

查找和替换文本