Robotik Süreç Otomasyonunda Düzenli İfadeler-Regular Expressions

Merhabalar,

Bu yazımızda çoğu yazılımcı için hayat kurtaran yapılar olan “Düzenli İfadeler” (Regular Expressions) hakkında sizlere bazı bilgiler paylaşıyor olacağız. Düzenli İfadeler nedir, ne için kullanılır, ve nasıl kullanılır gibi sorulara cevap vermeye çalışacağız. Tabii ki bu soruları cevaplarken Robotik Süreç Otomasyonundaki yerini de öğrenmiş olacağız. Haydi birlikte göz atalım!

Yazılımda düzenli ifadeler, ele alınan metinlerdeki kimi katarların (string) kısa yoldan ve esnek bir biçimde belirlenmesini sağlayan yapılardır. Bu katarlar belli karakterler, kelimeler veya karakter örüntüleri olabilir: bknz

Genel olarak veri doğrulama, ayıklama ve ayrıştırma işlemlerinde kullanılır. Kendine özgü biçimsel bir dile sahiptir. Bu biçimsel dil ile oluşturulan kurallar sayesinde metinler içerisinde istediğimiz verilere çok hızlı ve kolay bir şekilde erişebiliriz. Aranılan veriler genellikle sabit kurallar çerçevesinde oluşturulan veriler olmaktadır. Örneğin; email adresleri, telefon numaraları, finansal hesap bilgileri, kredi kartı numaraları vs. belli kurallara sahiptir. Bu kuralları belirleyebildiğimiz sürece bu verilere çok hızlı bir şekilde erişebiliriz. Aşağıdaki görsellerde Javascript üzerinde çalışabilecek ve istediğimiz verilere ulaşabilecek iki basit yapı oluşturduk.

javascript yapısı
Bu görselde Türkiye’de kullanılan standartlara uygun telefon numaralarını bulabileceğimiz bir yapı oluşturduk.
Tel no yapısı
Aynı şekilde bu görselde bir metin içerisinden e-posta adreslerini hızlıca bulabileceğimiz bir yapı oluşturduk. Oluşturduğumuz bu yapılar ihtiyaca ve kullandığımız yazılım diline göre farklılık gösterebilmektedir.

Düzenli İfadelerin RPA’daki Yeri:

Şimdi Düzenli İfadeler’in RPA’daki yerine değinelim. Kronnika olarak RPA uygulamaları geliştirirken duyulan ihtiyaçlara göre düzenli ifadeleri de kullanıyoruz. İnsan davranışlarını taklit eden uygulamalarımızı gerekli durumlarda düzenli ifadeler ile de eğiterek geliştiriyoruz. Şimdi bununla ilgili bazı örneklerden bahsedelim:

Sizin yerinize faturalarınızı takip eden bir RPA uygulaması düşünelim. Firmaların oluşturduğu faturalar genellikle sabit yapılara sahiptir. Kişiye özgü bilgiler, fatura tutarı gibi değişkenler vardır sadece. Düzenli ifadeler ile tanımlanan kurallar sayesinde RPA faturada ihtiyacı olan bilgilere çok hızlı bir şekilde ulaşıp hemen istediğiniz bilgileri ayıklayabilecektir. Bunun için yapılması gereken tek şey bir defaya mahsus düzenli ifadeler ile ilgili faturaya özel bir kural seti oluşturmaktır.

Bir başka örneğimizde ise sürekli olarak e-posta yoluyla gelen ödeme dekontlarını ayrıştırıp anlamlandırmanız gerekiyor. Bu işlem, katma değer açısından düşük zaman maliyeti açısından yüksek değerlere sahip bir operasyondur. Şimdi bu işi robotik süreç otomasyonu ile yapalım. Gelen e-postaları takip eden ve anlamlandıran bir robotumuz olacak. Daha önce otomatik bir şekilde nasıl e-mail dinleyeceğimizi medium’daki yazımızda ele almıştık. Dekontlardaki yapılar genellikle sabit olup, dekontlarda değişkenlerin bulunduğu yerler bellidir. Bunlar için bir defaya mahsus düzenli ifadeler ile gerekli kuralları tanımlamak yeterli olacaktır.

Bu yazımızda basit bir şekilde düzenli ifadelere değindik ve RPA’da kullanımı ile ilgili örnekler verdik. Bu örnekler ihtiyaçlar doğrultusunda farklı kombinasyonlara sahip olabilmektedir. Düzenli ifadeler ile ilgili internet üzerinde çok fazla kaynak ve örnek bulunmaktadır. Ayrıca düzenli ifadelerin neredeyse her yazılım dili için bir kütüphanesi bulunmaktadır. Son olarak, hızlı bir şekilde kurallar oluşturup test edebilmek için bu internet sitesini kullanabilirsiniz.