Sdílet prostřednictvím


Použití regulárních výrazů v aplikaci Visual Studio

Visual Studio 2012Vyhledání a nahrazení textu používá regulární výrazy rozhraní.NET Framework.V aplikaci Visual Studio 2010 a dřívějších verzích Visual Studio používá syntaxi regulárních výrazů vlastní v systému windows najít a nahradit.Toto téma vysvětluje, jak převést některé symboly vlastní regulární výraz více běžně používané verze .net.

Tip

V operačních systémech Windows končit většina řádky "\r\n" (carriage return následovaný nový řádek).Tyto znaky nejsou viditelné, ale jsou k dispozici v editoru a jsou předány službě .net regulárních výrazů.

Další informace naleznete v tématu .NET Framework regulární výrazy.

Tip

Informace o regulárních výrazů používaných náhradních vzorků, Nahrazení v regulárních výrazech.

Regulární výrazy v rámci comparing.NET

Regulární výrazy můžete převést z verze používané v předchozích verzích aplikace Visual Studio k rozhraní.NET Framework regulární výrazy v následující tabulce.

Účel

Nové

Staré

Nový příklad

Nahradit jeden znak (kromě zalomení řádku)

.

.

a.o odpovídá "aro" v "kolem" a "abo" v "o", ale nikoli "acro" v "napříč".

Nula nebo více výskytů předcházejícího výrazu odpovídají (co nejvíce odpovídat počtu znaků)

*

*

* r odpovídá "r" v "racku", "ar" v "ark" a "aar" v "aardvark"

Nahradit znak nula nebo vícekrát (zástupný znak *)

.*

.*

odpovídá c.*e "cke" v "povyk", "comme" v "komentář" a "kódu" v "kódu"

Odpovídají jedné nebo více výskytů předcházejícího výrazu (co nejvíce odpovídat počtu znaků)

+

+

e. + e "eede" v "podavač", ale nikoli "é" odpovídá.

Nahradit znak jednou nebo vícekrát (zástupný znak)?

.+

.+

e. + e odpovídá "eede" v "podavač", ale nikoli "é".

Nula nebo více výskytů předcházejícího výrazu odpovídají (co nejvíce odpovídat jako několik znaků)

*?

@

e.*? e odpovídá "é" v "podavač", ale nikoli "eede".

Odpovídají jedné nebo více výskytů předcházejícího výrazu (co nejvíce odpovídat jako několik znaků)

+?

#

e. +? e odpovídá "ente" a "erprise" v "organizace", ale ne celé slovo "organizace".

Kotevní řetězec shoda na začátek řádku nebo řetězec

^

^

^ auta odpovídá slovo "auto" pouze v případě, že je na začátku řádku.

Kotevní řetězec shodu na konci řádku

\r?$

$

End\r?$ odpovídá "konec" zobrazí pouze pokud se na konci řádku.

Libovolný znak v odpovídat sadu

[abc]

[abc]

b [abc odpovídá "ba", "bb" a "bc".

Odpovídat libovolný znak v rozmezí znaků

[a-f]

[x-y]

být [n-t odpovídá "nejvhodnějších" v "mezi", "ben" v "pod" a "bes" v "vedle", ale nikoli "níže".

Zachycení a implicitně číslo výrazu v závorkách

()

()

([a-z])X\1 "aXa" a "bXb", ale nikoli "aXb". "."\1" odkazuje první skupiny výraz "[a-z].

Neruší shoda

(?!ABC)

~(ABC)

svorkou skutečné (?ity) "reálný", "realty" a "skutečně", ale ne v "reality."

Odpovídat libovolný znak, který není v dané sadě znaků

[^ abc]

[^ abc]

být [^ n-t odpovídá "bef" v "před", "Bá" v "pozadí" a "bel" v "níže", ale ne "pod".

Odpovídat výraz před nebo po symbol jedna.

|

|

lázně (sponge|mud) odpovídá "lázně houba" a "lázně bláta."

Escape znak následující zpětné lomítko

\

\

\ ^ odpovídá znak ^.

Určení počtu výskytů předchozího znaku nebo skupiny

{x}, kde x je počet výskytů

\x, kde x je počet výskytů

x(AB) {2} x odpovídá "xababx" a x(ab) {2, 3} x "xababx" a "xabababx", ale nikoli "xababababx".

Odpovídající text ve třídě znaků Unicode, kde "X" je číslo Unicode.Další informace o třídách znaků Unicode naleznete v tématu

Vlastnosti znaku Unicode Standard 5.2.

\p{X}

: X

\p{lu} odpovídá "T" a "D" v "Thomas Doe".

Odpovídají hranice slova

\b (mimo třídu znaků \b Určuje hranici slova a znak uvnitř třídy určuje backspace).

< a > zadejte začátek a konec slova

\Bin "v" odpovídá "uvnitř" ale není "pinto".

Odpovídat zalomení řádku (ie carriage return následovaný nový řádek).

\r?\n

\n

End\r? \nBegin odpovídá "Konec" a "Begin" pouze při poslední řetězec v řádku je "Konec" a "Begin" je první řetězec v následujícím řádku.

Odpovídat libovolný alfanumerický znak

\w

:

a\wd odpovídá "přidat" a "a1d", ale nikoli "a d".

Odpovídat libovolný prázdný znak.

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

: b

Public\sInterface shoduje s větou "Veřejné rozhraní".

Nahradit číselný znak

\d

: d

\d shody a "3", "3456", "2" v 23 "a"1"v"1".

Znaku Unicode

\uXXXX, kde XXXX Určuje hodnotu znaku Unicode.

\uXXXX, kde XXXX Určuje hodnotu znaku Unicode

\u0065 odpovídá znak "e".

Odpovídající identifikátor

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

: i

Odpovídá "typ1", ale ne & typ1 "nebo"# define".

Hledat řetězec v uvozovkách

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

: q

Vybere všechny řetězce uvnitř jednoduchých nebo dvojitých uvozovek.

Odpovídají šestnáctkové číslo

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

: h

Odpovídá "0xc67f", ale nikoli "0xc67fc67f".

Shoda celá čísla a desetinná místa

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

: n

"1,333" Odpovídající položky.

Viz také

Další zdroje

Hledání a nahrazování textu