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:

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

  1. 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:

GlobalTrue: 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:

Kurallıİfadeler- Regex

admin

Kamuda, yurt içi ve yurt dışı görevlerde 37 yıl çalışmamın ardından 2013 yılında emekli oldum. 1989 yılında hem bilgisayarla ve hem de Lotus123 tanıştım. İşlerimi yapmada pek çok programdan yararlandım. En son Microsoft Office ile devam ettim. Çalışma hayatımda, Microsft Office bana çok yardımcı Olmuştur. Özellikle Excel ile ve Acces ile veri tabanlarımın tutulmasından analizlerine kadar, Word ile yazışmalarımın yapılmasında, sunumlarım için ise Power Point etkin araçlar olmuştur. Excel, bana çalışmalarımda etkin, doğru ve hızlı sonuçlar elde etmemi sağlamıştır. Çalışma hayatımda bu durum, Bilgi İşlem Bölümünün bana sağlayamayacağı kadar kolaylıklar ve en önemlisi bana hazır olarak gelen programları test etme ve kullanabilirliklerinin ortaya çıkarılmasında oldukça yararları olmuştur. Yılların bana verdiği bu deneyimlerle ve değişik alanlarda üyesi olduğum sitelerden gelen sorulara verdiğim yanıtlarla oluşturduğum çalışmalarımı paylaşmaya çalışıyorum. Bu konuda hep fikrim sorulmuştur. Nasıl bir yol izlenmesini önerirsiniz gibi. Önerim şu; İşinizi iyi, doğru ve hızlı yapmak mı istiyorsunuz? O zaman bu tür ofis programlarını iyi kullanmaya bakınız. Kimse sizden programcı olmayı beklemiyor. Programcılar da kafanızdaki problemi ve işinizi tam olarak bilemeyeceklerinden size üretilen programlar; arzu ettiğiniz biçimde olmayabilirler. Yine programcılar programlarını yapsınlar. Ancak, programda bir hata veya arıza olduğunda hazırlıklı değilseniz., yarı yolda kalırsınız. O zaman ne yapacaksınız? Programcıları mı arayacaksınız.? Bunu yapan programcı da bu işe bakmıyor veya ayrılmış olabilir. Bu durumda kendinize güveneceksiniz. Çünkü sizin bir çalışmanız vardır. Bu amatörce de olsa sizi yarı yolda bırakmayacaktır. Umarım bu sitede eklediğim dosya ve bilgiler, kullanıcılara ve ziyaretçilere yararlı olur. Saygılarımla... İdris SERDAR

You may also like...