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.
Porada |
---|
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.
Porada |
---|
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 |
\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". |