1. Look Around
Positive Look Aheadq'dan sonra ] karakteri geldiğini anlamak için positive look ahead yapmak gerekir. İleriye bakmak için şöyle yaparız.
q(?=])
Elimizde bir liste olsun
Rakama kadar olan kısmı ve rakamı ayrı ayrı yakalamak için şöyle yaparız. ?=\d positive look ahead ile rakama kadar olan kısım yakalanır.
Negative Look Aheadq'dan sonra ] karakteri gelmediğini anlamak için negative look ahead yapmak gerekir. İleriye bakmak için şöyle yaparız.
q(?!])
Positive Look Behindq'dan önce ] karakterini geldiğini anlamak için positive look behind yapmak gerekir. Geriye bakmak için şöyle yaparız
(?<=])q
Negative Look Behindq'dan önce ] karakterini gelmediğini anlamak için negative look behind yapmak gerekir. Geriye bakmak için şöyle yaparız
(?<!])q
2. Non-Greedy Matches
Regex.Matches greedy başlar. Elimizde şöyle bir string olsun
Tüm <..> arasındaki karakterleri bulmak isteyelim. Bu durumda iki seçeneğimiz var.
1. Non-greedy eşleşme yapmak. Non-greedy için .*? karakterlerini kullanırız
2. Negation karakteri kullanmak
Negation için ^ karakterini kullanırız
Daha sonra her eşleşme şöyle dolaşılır
Çıktı olarak şunu alırız. Örnekte Match nesnesinden capture edilen group alınmıyor.
3. Regex SınıfıBu sınıf için şu satırı dahil etmek gerekir. Bu sınıfın hem static hem de static olmayan ve aynı işi yapan metodları var.
ConstructorŞöyle yaparız.
Escape metoduŞöyle yaparız
);
Düzenli ifadenin içinde [ karakteri olsun
[ karakterini şöyle yazmamız gerekir.
Bun Escape metodu ile kolayca yaparız.
IsMatch metodu - Tamamen EşleşmeVerilen string ile Regex'in tamamen eşleşip eşleşmediğini döner.
Bazen IsMatch yerine String sınıfının Containes ve IndexOf metodları çok daha basit çözümler sunabiliyor.
Match metoduMatch nesnesi döner.
Örnek
İlk eşleşmeyi bulmak için şöyle yaparız.
Örnek
Şöyle yaparız.
Aslında MatchCollection nesnesini aradan çıkartmak çok kolay. 3 grubu yakalayan bir düzenli ifademiz olsun. Her Match nesnesi içinde Value ve 3 tane grup bulunur. Gruplar 1'den başlar.
Örnek
Matches metodu- Tüm Eşleşmeleri AlmaMatchCollection döner. Tüm eşleşmeleri verir.
Örnek
Şöyle yaparız.
Örnek
Örnek
Şöyle yaparız. Match nesnesinden capture edilen gruplar GroupCollection olarak alınabilir.
Örnek
Aslında MatchCollection nesnesini aradan çıkartmak çok kolay. 3 grubu yakalayan bir düzenli ifademiz olsun. Her Match nesnesi içinde Value ve 3 tane grup bulunur. Gruplar 1'den başlar.
Replace metoduBelli bir örüntü şöyle değiştirilir.
Split metodu
Unescape metodu