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