Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Visual Studio używa regularnego wyrażenia .NET Framework, aby odnaleźć i zastąpić tekst.W Visual Studio 2010 i wersjach starszych program Visual Studio używał niestandardowych składni wyrażeń regularnych w oknach Znajdź i Zamień.Ten temat tłumaczy jak konwertować niektóre częściej używane niestandardowe znaki regularnych wyrażeń do wersji .NET.
![]() |
---|
W systemach operacyjnych Windows większość linii kończyć się znakiem "\r\n" (rozpoczęcie nowego wiersza po znaku powrotu karetki).Znaki te nie są widoczne, ale są obecne w edytorze i przekazywane do usługi .NET Regular Expression. |
Aby uzyskać więcej informacji, zobacz .NET Framework — Wyrażenia regularne.
![]() |
---|
Aby uzyskać informacje o wyrażeniach regularnych używanych we wzorcach zastąpień, zobacz Podstawienia w wyrażeniach regularnych.Aby użyć numerowanej grupy uchwyconej, składnia to $1, aby określić numerowaną grupę i (x), aby określić grupę, o którą chodzi:.Na przykład zgrupowane wyrażenie regularne (\d)([a-z]) znajdzie cztery dopasowania w następującym ciągu: 1a 2b 3c 4d.Ciąg zastępujący z$1 konwertuje ciąg na z1 z2 z3 z4> jest równoważny składni w Visual Studio 2010 {:z}([a-z]) dla zgrupowanych wyrażenia regularnego i z\1 dla ciągu zastępującego. |
Comparing .NET Framework wyrażeń regularnych
Możesz konwertować regularne wyrażenia z wersji użytej w poprzedniej wersji Visual Studio na regularne wyrażenia .NET Framework korzystając z poniższej tabeli.
Cel |
Nowy |
Stary |
Nowy przykład |
---|---|---|---|
Pasuje do dowolnego pojedynczego znaku (za wyjątkiem podziału wiersza) |
. |
. |
a.o pasuje "aro" w "around" i "abo" w "about" ale nie "acro" w "across". |
Dopasowuje zero lub więcej wystąpień poprzedniego wyrażenia (dopasowuje tak dużą liczbę znaków, jak to możliwe) |
* |
* |
a*r pasuje "r" w "rack", "ar" w "ark", i "aar" w "aardvark" |
Dopasowuje dowolny znak zero lub więcej razy (Symbol wieloznaczny *) |
.* |
.* |
c.*e pasuje do “cke” w “racket”, “comme” w “comment”, i “code” w “code” |
Dopasowuje jedno lub więcej wystąpień poprzedniego wyrażenia (dopasowuje tak dużą liczbę znaków, jak to możliwe) |
+ |
+ |
e.+e pasuje do "eede" w "feeder"ale nie do "ee". |
Dopasowuje dowolny znak jeden lub więcej razy (Symbol wieloznaczny?) |
.+ |
.+ |
e. + e pasuje do "eede" "podajnika" ale nie "ee". |
Dopasowuje zero lub więcej wystąpień poprzedniego wyrażenia (dopasowuje tak małą liczbę znaków, jak to możliwe) |
*? |
@ |
e.*?e pasuje do "ee" w "feeder" ale nie do "eede". |
Dopasowuje jedno lub więcej wystąpień poprzedniego wyrażenia (dopasowuje tak małą liczbę znaków, jak to możliwe) |
+? |
# |
e.+?e pasuje do "ente" i "erprise" w "enterprise", ale nie do całego słowa "enterprise". |
Zakotwiczenia ciągu dopasowania do początku wiersza lub ciągu |
^ |
^ |
^ samochód pasuje do słowa "samochód" tylko kiedy pojawia się na początku wiersza. |
Zakotwiczenia ciągu dopasowania na końcu wiersza |
\r?$ |
$ |
End\r?$ pasuje do "end" tylko wtedy, gdy pojawia się na końcu wiersza. |
Pasuje do pojedynczego znaku w zestawie |
[abc] |
[abc] |
b[abc] pasuje do "ba", "bb", i "bc". |
Pasuje do dowolnego znaku w ciągu znaków |
[a-f] |
[x-y] |
be[n-t] pasuje do "bet" w "between", "ben" w "beneath", i "bes" w "beside", ale nie "below". |
Przechwytywanie i niejawne numerowanie wyrażenia zawartgoe w nawiasach |
() |
() |
([a-z])X\1 pasuje do "aXa" i "bXb", ale nie "aXb". ". "\1" odnosi się do pierwszej grupy wyrażenie "[a-z]". |
Unieważnienie dopasowania |
(?!abc) |
~(abc) |
real (?!ity) pasuje do członu „real” w słowach „realty” i „really”, ale nie w „reality”. Znajdzie także drugi „prawdziwy” (ale nie pierwszy „prawdziwy”) w „realityreal”. |
Pasuje do dowolnego znaku, który nie jest podany w danym zestawie znaków |
[^abc] |
[^abc] |
być [^ n-t pasuje do "bef" w "przed", "beh" w "za" i "bel" w "poniżej", ale nie "poniżej". |
Dopasowuje wyrażenie przed lub po symbolu. |
| |
| |
(sponge|mud) bath pasuje "sponge bath" i "mud bath." |
Uniknij znaku następującej odwróconej kreski ukośnej |
\ |
\ |
\^ pasuje do znaku ^. |
Określ liczbę wystąpień poprzedzającego znaku lub grupy |
{x},, gdzie x jest liczbą wystąpień |
\x, gdzie x jest liczbą wystąpień |
x(ab){2}x odpowiada "xababx", a x(ab){2,3}x odpowiada "xababx" i "xabababx", ale nie "xababababx". |
Dopasowuje tekst w klasie znaku Unicode, gdzie „X” jest numerem kodu Unicode.Aby uzyskać więcej informacji dotyczących klas znaków Unicode, zobacz |
\p{X} |
:X |
\p{lu} pasuje do "T" i "D" w "Thomas Doe". |
Dopasuj granicę wyrazu |
\b (poza klasą znak \b Określa, do granicy słowa i wewnątrz znak klasy określa backspace). |
< i > określić początek i koniec wyrazu |
\Bin pasuje do "w" w "wewnątrz" ale nie "pinto". |
Dopasowuje koniec linii (czyli znak powrotu karetki, po którym występuje nowy wiersz). |
\r?\n |
\n |
End\r?\nBegin pasuje do "Koniec" i "Początek" tylko wtedy, gdy "Koniec" jest ostatnim ciągiem w wierszu a "Początek" jest pierwszym ciągiem w następnym wierszu. |
Pasuje do dowolnego znaku alfanumerycznego |
\w |
:a |
a\wd pasuje do "add" i "a1d" ale nie do "a d". |
Dopasowuje dowolny biały znak. |
(?([^ \r\n])\s) |
:b |
Publiczny\sInterfejs pasuje do frazy „Interfejs publiczny”. |
Pasuje do dowolnego znaku numerycznego |
\d |
:d |
\d pasuje i "3" w "3456" "2" w 23 "i"1" w "1". |
Dopasuj znak Unicode |
\uXXXX gdzie XXXX określa wartość znaku Unicode. |
\uXXXX gdzie XXXX określa wartość znaku Unicode |
\u0065 pasuje do znaku "e". |
Dopasuj identyfikator |
\b(_\w+|[\w-[0-9_]]\w*)\b |
:i |
Dopasowuje "type1" ale nie &type1" lub "#define". |
Dopasuj ciągi wewnątrz cudzysłowu |
((\".+?\")|('.+?')) |
:q |
Dopasowuje dowolny ciąg w pojedynczym lub podwójnym cudzysłowie. |
Pasuje do liczby szesnastkowej |
\b0[xX]([0-9a-fA-F])\b |
:h |
Dopasowuje „0xc67f”, ale nie „0xc67fc67f”. |
Pasuje do liczb całkowitych i dziesiętnych |
\b[0-9]*\.*[0-9]+\b |
:n |
Dopasowuje „1,333”. |