Aracılığıyla paylaş


Visual Studio'da Normal İfadeler Kullanma

Visual Studio metin bulma ve yerleştirme için .NET Framework normal ifadelerini kullanır.Visual Studio 2010 veya önceki sürümlerinde, Visual Studio Bul ve Değiştir pencerelerinde özel normal ifade sözdizimi kullanılır.Bu konu, sık kullanılan özel normal ifade simgelerinin .NET sürümlerine nasıl dönüştürüleceğini açıklar.

İpucuİpucu

Windows işletim sistemlerinde satırların çoğu “\r\n” (yeni satırın takip ettiği bir satır başı) ile biter.Bu karakterler görünür değildir ancak düzenleyicide bulunur ve .NET Normal İfade hizmetine iletilir.

Daha fazla bilgi için bkz. .NET Framework Normal İfadeleri.

İpucuİpucu

Değiştirme desenlerinde kullanılan düzenli ifadeler hakkına bilgi için bkz. Normal İfadelerdeki Değişimler.Numaralı bir yakalama grubu kullanmak için sözdizimi, numaralı grubu belirtmek için $1, söz konusu grubu belirtmek için (x) şeklindedir:Örneğin, gruplanmış düzenli ifade (\d)([a-z]) aşağıdaki dizede dört eşleşme bulur: 1a 2b 3c 4d.z$1 değiştirme dizesi; z1 z2 z3 z4> dizelerine dönüştürür. Visual Studio 2010 eşdeğer sözdizimi gruplanan normal ifadeyle {:z}([a-z]), değiştirme dizesiyle z\1 şeklindedir.

Normal .NET Framework İfadelerini Karşılaştırma

Aşağıdaki tabloyu kullanarak önceki Visual Studio sürümlerinde kullanılan sürümdeki normal ifadeleri .NET Framework normal ifadelerine dönüştürebilirsiniz.

Purpose

New

Eski

Yeni Örnek

(Satır sonu dışında) herhangi tek bir karakterle eşleştir

.

.

a.o; "around" öğesinde "aro" ile ve "about" öğesinde "abo" ile eşleşir, ancak "across" öğesinde "acro" ile eşleşmez.

Önünde gelen ifadenin sıfır veya daha çok tekrarı ile eşleştir (mümkün olduğu kadar çok karakterle eşleştir)

*

*

a*r; "rack" öğesinde "r" ile, "ark" öğesinde "ar" ile ve "aardvark" öğesinde "aar" ile eşleşir

Joker karakterle ya hiç eşleştirme veya birkaç kez eşleştir (Wildcard *)

.*

.*

c.*e; “racket” için “cke” ile; “comment” için “comme” ile; ve “code” için “code” ile eşleşir

Önünde gelen ifadenin bir veya daha çok tekrarı ile eşleştir (mümkün olduğu kadar çok karakterle eşleştir)

+

+

e.+e; "feeder"da "eede" ile eşleşir ancak "ee" ile eşleşmez.

Bir veya daha fazla kez eşleştir (Wildcard ?)

.+

.+

e.+e, "besleyici" içindeki "eede" ile eşleşir ancak "ee" ile eşleşmez.

Önünde gelen ifadenin sıfır veya daha çok tekrarı ile eşleştir (mümkün olduğu kadar az karakterle eşleştir)

*?

@

e.*?e; "feeder"da "ee" ile eşleşir ancak "eede" ile eşleşmez.

Önünde gelen ifadenin bir veya daha çok tekrarı ile eşleştir (mümkün olduğu kadar az karakterle eşleştir)

+?

#

e.+?e; "enterprise"da "ente" ve "erprise" ile eşleşir ancak "enterprise" kelimesinin tamamıyla eşleşmez.

Eşleşme dizesini bir satırın veya dizenin başına bağla

^

^

^car, yalnızca satırın başında göründüğünde "car" sözcüğüyle eşleşir.

Eşleşme dizesini bir satırın sonuna bağla

\r?$

$

End\r?$, yalnızca bir satırın sonunda göründüğünde "end" ile eşleşir.

Bir kümedeki tek bir karakterle eşleştir

[abc]

[abc]

b[abc] "ba", "bb" ve "bc" ile eşleşir.

Karakter aralığındaki herhangi bir karakterle eşleştir

[a-f]

[x-y]

be[^n-t]; "between" için "bet" ile, "beneath" için "ben" ile ve "beside" için "bes" ile eşleşir, ancak "below" ile eşleşmez.

Parantez içindeki ifadeyi yakalayın ve dolaylı olarak numaralayın

()

()

([a-z])X\1; "aXb" ile değil, "aXa"ve "bXb" ile eşleşir. ". “\1”, ilk ifade grubu “[a-z]” anlamına gelir.

Eşlemeyi geçersiz kıl

(?!abc)

~(abc)

real (?!ity) "realty" içindeki "real" ile ve "really" ile eşleşir ancak "reality" ile eşleşmez. Ayrıca ikinci "real" öğesini (ilk "real" değil) "realityreal" içinde bulur.

Belirtilen karakter kümesinde olmayan herhangi bir karakterle eşleştir

[^abc]

[^abc]

be[^n-t]; "before" için "bef" ile, "behind" için "beh" ile ve "below" için "bel" ile eşleşir, ancak "beneath" ile eşleşmez.

Simgeden önceki veya bir sonraki ifadeyle eşleştir.

|

|

(sponge|mud) bath "sponge bath" ve "mud bath" ile eşleşir.

Ters eğik çizgiyi takip eden karakterden çıkış yapın

\

\

\^ character ^ ile eşleşir.

Önceki karakterin veya grubun oluşum sayısını belirtin

{x}, içinde x oluşum sayısıdır

\x, içinde x oluşum sayısıdır

x(ab){2}x "xababx" ile eşleşir, x(ab){2,3}x "xababx" ve "xabababx" ile eşleşir, "xababababx" ile eşleşmez.

Metni, "X" değerinin Unicode numarası olduğu bir Unicode karakter sınıfı içinde eşleştir.Unicode karakter sınıfları hakkında daha fazla bilgi için bkz.

Unicode Standart 5.2 Karakter Özellikleri.

\p{X}

:X

\p{Lu}, "Thomas Doe" içinde "T" ve "D" ile eşleşir.

Bir sözcük sınırını eşleştir

\b (\b; karakter sınıfı dışında sözcük sınırını belirler, karakter sınıfının içinde ise geri al ile eşleşir).

< ve > bir sözcüğün başlangıcını ve bitişini belirtin

\bin, "pinto" değil, "inside" içinde "in" ile eşleşir.

Satır sonuyla eşleştir (örn, yeni satırın izlediği bir satır başı).

\r?\n

\n

End\r?\nBegin, yalnızca "End" bir satırdaki son dizeyse ve "Begin" sonraki satırdaki ilk dizeyse, "End ve "Begin" ile eşleşir.

Herhangi bir alfasayısal karakteri eşleştir

\w

:a

a\wd, "add" ve "a1d" ile eşleşir ancak "a d" ile eşleşmez.

Herhangi bir boşluk karakteri ile eşleştir.

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

:b

Public\sInterface "Ortak Arabirim" tümcesiyle eşleşir.

Herhangi bir sayısal karakteri eşleştir

\d

:d

\d, "3456" içinde "3", "23" içinde "2" ve "1" içinde "1" ile eşleşir.

Unicode karakterini eşleştir

\uXXXX içinde XXXX, Unicode karakter değerini belirtir.

\uXXXX içinde XXXX, Unicode karakter değerini belirtir

\u0065, "e" karakteriyle eşleşir.

Tanımlayıcı eşleştir

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

:i

&type1" veya "#define" öğesini değil, "type1" öğesini eşleştirir.

Tırnak işaretleri içindeki bir dizeyi eşleştir

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

:q

Tek veya çift tırnak içindeki herhangi bir dizeyle eşleşir.

Onaltılık bir sayı ile eşleştir

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

:h

"0xc67f" ile eşleşir ancak "0xc67fc67f" ile eşleşmez.

Tamsayıları ve ondalık sayıları eşleştir

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

:n

"1.333" ile eşleşir.

Ayrıca bkz.

Diğer Kaynaklar

Metin Bulma ve Değiştirme