Kurallı (Normal) İfadeler regular expression (regex veya regexp)
Kurallı (Normal) İfadeler regular expression (regex veya regexp)
Regular Expressions, bunlara Kurallı ifadeler, Normal İfadeler, Düzenli ifadeler de denilmektedir.
Kurallı (Normal) ifadeler (regex veya regexp), bir arama modelini tanımlayan özel olarak kodlanmış bir karakter dizisidir. Bu kalıbı kullanarak, bir dizide eşleşen bir karakter kombinasyonu bulabilir veya veri girişini doğrulayabiliriz. Joker karakterleri hepimiz biliriz. Kurallı ifadelerin de joker karakterlerin gelişmiş bir sürümü olarak düşünebiliriz. Kurallı ifadelerin özel karakterlerden, işleçlerden ve yapılardan oluşan kendi sözdizimi vardır. Örneğin, [0-5] 0 ile 5 arasındaki herhangi bir tek basamakla eşleşir.
Kısaca RegEx veya RegExp olarak kullanılan kurallı ifadeler günümüz programlama dillerinin birçoğunda bulunmaktadır.
Regex, ele alınan metindeki karakterler dizisinin kısa yoldan ve esnek bir biçimde bulunmasını ve gerekirse değiştirmesini sağlar.
Libre Office’te Regex işlevi bulunmakla birlikte Excel’de yerleşik Regex işlevi yoktur. Formüllerimizde normal ifadeleri kullanabilmek için KTF -UDF (kullanıcı tanımlı işlevler) oluşturulabilir.
Normalde Excel VBA’da RegEx ile ilgili bir özellik yoktur. Ancak Microsoft VBScript Regular Expressions referansı ile bu sağlanabilmektedir.
Excel VBA’ya bu referansı eklemek için iki yol var:
- yol:
Excel VBA Editöründe( ALT+F11) iken menüden Tools / References … tıklanır. Açılan pencerede listeden Microsoft VBScript Regular Expressions seçilip OK tıklanır.
- yol:
VBA kodlarıyla RegEx nesnesi oluşturmak:
Bu yollardan birini uyguladıktan sonra VBA içinde RegEx kullanılabilir hale gelir.
RegEx Nesnesinin Özellikleri:
Global: True: Olası tüm eşleşmeleri bulur. False: Yalnızca ilk bulunan desenle eşleşir.IgnoreCase: Büyük/küçük harf duyarlılığı, True: Duyarsız. False: Duyarlı.
MultiLine: Birden çok satır varsa diğer satırlara bakılacak mı? True: Evet. False: Hayır.
Pattern: Eşleştirilmek istenen desen.
RegEx Nesnesinin Fonksiyonları:
Execute (bulunacak metin) : desenin tüm eşleşmelerini arama dizesine göre döndürür.
Replace (bulunacak metin, değiştirilecek metin) : arama metnindeki desenin oluşumlarını değiştirme metni ile değiştirir.
Test (metin) : desen, verilen metinle eşleşiyorsa True sonucunu döndürür.
Dosya:
Son Yorumlar