在 Visual Studio 中使用規則運算式

Visual Studio 2012 使用 .NET Framework 規則運算式尋找和取代文字。 在 Visual Studio 2010 (含) 以前版本,則 Visual Studio 會在您無法自訂規則運算式語法和取代] 視窗。 本主題說明如何將某些較常用的自訂規則運算式符號的 .NET 版本。

提示

在 Windows 作業系統中,大多數程式碼中的「\ r \ n」結尾 (新行之前的歸位字元 (Carriage Return)。這些字元不可見,,而是出現在編輯器和傳遞至 .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」中的「企業中,」,但不是單字「enterprise」。

將比對字串錨定至行或字串的開頭。

^

^

,只有在一行的開頭時,它會出現^car 會比對「auto」。

將比對字串錨定至行尾

\ r? $

$

,但它必須出現在行的結尾時,結束\ r? $ 符合「End」。

比對集合中的任何單一字元

[] abc

[] abc

將 abc 「bc」比對「ba」, 「bb」,也就是和。

比對字元範圍內的任何字元

[] a-f

[x-y]

為 n-t 會比對「bet」中的「之間」, 「beneath」中的「ben」和「bes」中的「,但是, 「bel」。

擷取和隱含編號在括號內的運算式

()

()

([]) a-z X \ 1 會比對「aXa "和「不是 bXb」,但是「, aXb」。「 . 「\ 1 "表示第一個運算式群組 a-z 「[]」。

無效的相符項目。

(?! abc)

| (abc)

虛擬 (?! ity) 「實際」與「reality」中的「real」和屬性,而不是「real "」。

比對不在指定的一組字元的所有字元。

[] ^abc

[] ^abc

為 ^n-t 符合「bef」中的「Before」, 「beh」中的「Back」和「below」中的「ben」,但是, 「bel」。

在字元後面先前比對運算式或其中一個。

|

|

(sponge|mud) bath 會比對 "sponge bath" 和 "mud bath"。

逸出反斜線之後的字元

\

\

\ ^ 符合^字元。

指定在前置字元或群組的發生次數。

{x},其中 x 是發生次數。

\ x,其中 x 是發生次數。

X (ab {} x 2) 會比對「xababx」和 X (ab) {2, 3} x 會比對「xababx」和「不是 xabababx」,但不會比對「xababababx」。

比對 Unicode 字元類別中, 「X」是 Unicode 數字。 如需 Unicode 字元類別的詳細資訊,請參閱

Unicode Standard 5.2 字元屬性.

\p{X。

: x

\p{Lu。 符合「T」和「D」中的「括住數字、Doe」。

比對字緣

\ b (在字元類別之外\ b "這個字,,和內的字元類別指定退格鍵)。

< 和 > 指定字的開頭和結尾

\ bin \ debug。 相符「中的」中的「real 位於」,但不會比對「所強制」。

比對分行符號 (ie 新行之前的歸位字元 (Carriage Return)。

\ r? \n

\n

結束\r?\nBegin 符合「End」,而「啟動」,但「End」必須是該行的最後一個字串和「Begin」是下一行的第一個字串。

比對任何英數字元

\w

:a

wd \。 會比對「加入」和「a1d」,但不會傳回「d」。

比對任何泛空白字元。

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

:b

公用\sInterface 符合這個片語「Public Interface」。

比對任何數字字元

\d

:d

"加入 符合和「3 "、「3456 ", 「2 "、" 23 「和" 1 "、「1 "。

比對 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 *、\。[] *、+ \ b

:n

會比對「1.333 "。

請參閱

其他資源

尋找和取代文字