Udostępnij za pośrednictwem


Korzystanie z wyrażeń regularnych w programie Visual Studio

Visual Studio 2012używa wyrażenia regularne.NET Framework do znajdowania i zamieniania tekstu.W Visual Studio 2010 i starsze wersje Visual Studio używany składni niestandardowych wyrażeń regularnych w windows Znajdź i Zamień.W tym temacie opisano sposób konwertowania niektóre symbole niestandardowe wyrażenie regularne bardziej powszechnie stosowanych do wersji .net.

PoradaPorada

W systemach operacyjnych Windows większość linii kończyć się "\r\n" (powrót karetki i znak nowego wiersza).Te znaki nie są widoczne, ale są obecne w edytorze i są przekazywane do usługi .net wyrażenia regularnego.

Aby uzyskać więcej informacji, zobacz .NET Framework w wyrażeniach regularnych.

PoradaPorada

Informacje dla wyrażeń regularnych, które są używane w przypadku zastąpienia wzorców, zobacz Podstawienia w wyrażeniach regularnych.

Wyrażenia regularne Comparing.NET Framework

Można przekonwertować wyrażenia regularne z wersji używany w poprzednich wersjach programu Visual Studio do wyrażenia regularne.NET Framework za pomocą poniższej tabeli.

Cel

Nowy

Stare

Przykład nowy

Zastępuje dowolny pojedynczy znak (z wyjątkiem podziału wiersza)

.

.

a.o pasuje do "aro" w "wokół" i "abo" w "o", ale nie "acro" w "w poprzek".

Dopasować zero lub więcej wystąpień poprzedniego wyrażenia (odpowiadać liczby znaków możliwie)

*

*

* r pasuje do "r" w "stojak", "ar" w "ark" i "aar" w "aardvark"

Dopasować znak zero lub więcej razy (symbol wieloznaczny *)

.*

.*

c.*e pasuje do "cke" w "przekręt", "comme" w "komentarz" i "kodu", "kodu"

Dopasować jedno lub więcej wystąpień poprzedniego wyrażenia (odpowiadać liczby znaków możliwie)

+

+

e. + e pasuje do "eede" w "podajnik", ale nie "ee".

Dowolnego znaku jeden lub więcej razy (symbol wieloznaczny)?

.+

.+

e. + e pasuje do "eede" w "podajnik", ale nie "ee".

Dopasować zero lub więcej wystąpień poprzedniego wyrażenia (odpowiadać jako kilka znaków możliwie)

*?

@

e.*? e pasuje do "ee" w "podajnik", ale nie "eede".

Dopasować jedno lub więcej wystąpień poprzedniego wyrażenia (odpowiadać jako kilka znaków możliwie)

+?

#

e. +? e pasuje do "ente" i "erprise", "enterprise", ale nie cały wyraz "enterprise".

Ciąg dopasowania do początku wiersza lub ciąg kontrolne

^

^

^ samochodu dopasowuje słowo "żyrafa" tylko wtedy, gdy wydaje się na początku wiersza.

Zakotwiczenia ciąg dopasowania do końca wiersza

\r?$

$

End\r?$ odpowiedników "end" tylko, gdy wydaje na końcu wiersza.

Zamiast dowolnego pojedynczego znaku w zestaw

[abc]

[abc]

b [abc pasuje do "ba", "bb" i "p.n.e.".

Dowolnego znaku w zakres znaków

[a-f]

[x-y]

[n-t] odpowiada "zakład" w "między", "ben" w "poniżej" i "bes" w "obok", ale nie "poniżej".

Przechwytywanie i niejawnie numer wyrażenia zawarte w nawiasach

()

()

([a-z])X\1 pasuje do "aXa" i "bXb", ale nie "aXb". "."\1" odnosi się w pierwszej grupie wyrażenie "[a-z]".

Unieważnić dopasowania

(?!ABC)

~(ABC)

Real (?Pakiet) pasuje do "real", "realność" i "naprawdę", ale nie w "reality."

Dowolnego znaku, który nie jest w danym zestawie znaków

[^ abc]

[^ abc]

być [^ n-t pasuje do "bef" w "przed", "Johannesburgu" w "behind" i "bel" w "poniżej", ale nie "poniżej".

Dopasować wyrażenie przed lub jeden po symbolu.

|

|

Łaźnia (sponge|mud) pasuje do "Gąbka łaźni" i "błota kąpieli."

Escape znaku odwróconej kreski ukośnej

\

\

\ ^ dopasowuje znak ^.

Określ liczbę wystąpień poprzedzającego znaku lub grupy

{x}, gdzie x jest liczba wystąpień

\x, gdzie x jest liczba wystąpień

x(AB) {2} x pasuje do "xababx" i x(ab) {2, 3} x pasuje do "xababx" i "xabababx", ale nie "xababababx".

Dopasowanie tekstu w klasie znaku Unicode, gdzie "X" jest numerem Unicode.Aby uzyskać więcej informacji na temat klasy znaku Unicode, zobacz

Właściwości znaków standardu Unicode 5.2.

\p{X}

: X

\p{lu} pasuje do "T" i "D" w "Thomas Doe".

Dopasować ogranicznik słowa

\b (poza klasy znaku \b Określa ogranicznik słowa i wewnątrz znak klasy określa backspace).

< i > określić początek i koniec wyrazu

\Bin pasuje do "w" w "inside" ale nie "pinto".

Odpowiadać podział wiersza (ie powrót karetki i znak nowego wiersza).

\r?\n

\n

End\r? \nBegin odpowiedników "End" i "Begin" tylko, gdy "End" jest ostatni ciąg w wierszu i "Begin" jest pierwszy ciąg w następnym wierszu.

Zawierać dowolny znak alfanumeryczny

\w

:

a\wd pasuje do "Dodaj" i "a1d", ale nie "d".

Dopasować znak światła.

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

: b

Public\sInterface pasuje do frazy "Interfejs publiczny".

Pasuje do dowolnego znaku numerycznego

\d

: d

\d dopasowania i "3" w "3456", "2" 23"i"1"w"1".

Dopasować znak Unicode

\uXXXX określa wartość znaku Unicode, gdzie XXXX.

\uXXXX określa wartość znaku Unicode, gdzie XXXX

\u0065 dopasowuje znak "e".

Pasuje do identyfikatora

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

: i

Dopasowuje "type1", ale nie & type1 "lub"# define".

Pasuje do ciągu wewnątrz cudzysłowów

((\".+?\")|('.+?'))

: q

Reprezentuje dowolny ciąg wewnątrz pojedyncze lub podwójne cudzysłowy.

Numer szesnastkowy

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

: h

Pasuje do "0xc67f", ale nie "0xc67fc67f".

Dopasowanie liczby całkowite i dziesiętnych

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

: n

Dopasowuje "1,333".

Zobacz też

Inne zasoby

Znajdowanie i zastępowanie tekstu