Regex Tarih Alma

Uipath Regex konusunda zahmetsiz ve kolay yöntemler sunar. Yazılım ile ilgilenenler için önemli iki kavramın öncesinde açıklanması yararlı olacaktır.

Uipath Nedir?

Uipath temel olarak bir web formunda veya masaüstü uygulamasında kesintisiz veri giriş otomasyonu olarak yazılım sunan firma ismidir. Markanın en önemli yazılımı Uipath Studio’dur. Robotik süreç otomasyonu yani RPA için platform geliştiren bu marka entegrasyonun kolay ve verimli şekilde gerçekleşmesini hedefler. Uipath özellikle Excel destekli olması ile önemli bir avantaj içerir. Bunun yanında SAP ve Citrix entegrasyonunu da sağlamaktadır. Bu ise işlemlerin ekranda okunmasını ve tekrar eden dahili kaydediciyi kullanmayı mümkün kılar.

Kullanıldığı alanda zamandan önemli ölçüde tasarruf sunan ve neredeyse hiç kodlama bilgisi gerektirmeyen Uipath aynı zamanda Flash, Ajax, PDF, Java, HTML ve Silverlight desteği de sunar.

Regex Nedir?

Uipath regex yapma açısından önemli kolaylıklar sunar. Ama önce regex üzerinde durmak yararlı olacaktır. Türkçede düzenli ifade anlamında kullanılan bu kavram, metinler içinde tekrar eden veya benzersiz yapıların tespit edilmesini sağlayan arama yapısıdır.

Regexp olarak da ifade edilen bu yapı genel olarak yazılım veya programlama süreçlerinde kullanılır. Bunun yanında metin ayrıştırma süreçleriyle de ilgilenenler tarafından büyük veri kümeleri üzerindeki çalışmalarda da tercih edilir.

Regex çalışma sistemi metinler üzerine kuruludur. Stringler olarak adlandırılan metinler soldan sağa bir düzlemde eşleştirir, eklenen formüle de uygun olan eşleşmenin bulunmasını sağlayarak süreci tamamlar. Söz konusu bu çalışma yapısı öncelikle aranılan text’i bulmak üzerinedir. Fakat bu türden durumlarda bul ve yerleştir mantığı da kullanılabilir. Bu durumda da text başka bir text ile yer değiştirir.

Regex işlemleri yapılması için öncelikle ilk olarak karakter dizisinin oluşturulması gerekir. Bu yapı ise özel karakter düzenlemelerini hedefleyecek olan text’i almaya yönelik şekilde yapılır. Böylece bul veya bulup yerleştir işlemleri de tamamlanır.

Regex Neden Kullanılıyor?

Regex kullanımı için farklı etmenler söz konusudur;

  • Düzenli ifadeler büyük veri kümelerinde hızlı sonuçlar alınmasını sağlar.
  • Tekrar yapılan eylemlerin kontrol edilmesini kolaylaştırır (bu bakımdan Uipath ile doğrudan ilgilidir)
  • Hızlı, kolay ve güvenilir kod yapısının oluşmasını destekler
  • Verilerin anlaşılır ve kolay analizini mümkün kılar.
  • Büyük veri kümeleri içinde toplu değişikliklerin yapılmasını sağlar.

Regex Karakterleri ve Kullanımı

Regex karakterleri belirlenmiş karakterlere dayanır. Bu karakterlerin her birisi farklı kullanımları tanımlar ve karakterlerin de birbiri ile kullanılmaları da yine farklı sonuçları ortaya çıkarır. Bu karakterler iki taksim (/ /) arasına yazılarak kullanılır. Bu işaretler ile Regex açılır ve sonrasında istenilen yerde kapatılabilir. Regex çalışma mantığı olarak verinin en solundan başlar ve sağa doğru ilerleme şeklinde yazılır.

Başlıca regex karakterleri şu şekildedir;

  • . her şey ile eşleşir
  • ^ string sonu
  • $ string sonu
  • * sıfır ya da çoklu tekrar
  • + 1 ya da çoklu tekrar
  • ? sıfır ya da bir tekrar
  • {m} içinde yer alan karakterler ile tam eşleşme
  • {1, 10} içinde yer alan karakter için ilk veya ikinci ifade arasında eşleşme
  • [x] karakter seti
  • (x) içinde yer alan karakterlerin gruplanmasını yapar
  • \ escape karakteri
  • \w tüm harf ve rakamları içine alır
  • \W tüm büyük harf ve rakamları kast eder
  • \d tüm rakamları karşılar
  • \n satır işareti
  • \s boşluk
  • \S boşluk içermez

Uipath İçin Regex Yazımı

Uipath için regex yazımı oldukça kolay ve zahmetsiz şekildedir. Doğrudan kodlar veya bul ve değiştir yöntemi ile yapılmaktadır. Uipath Regex açıldıktan sonra işlem yapılacak olan verinin üstüne gelinir. Örneğin PDF dosyasından fatura numarası almayı istiyorsunuz;

  • İlk olarak Match kısmına gelinir ve buradan söz konusu yazım PDF için olacağından “PDF Read” dizesi seçilir.
  • Sonrasında ise fatura numarasını almak için Regex kodu kullanılır, örneğin; (?<=Invoice Number ).*
  • İmleç ile Misc kısmı seçilir ve sonrasında ctrl + k tuşuna basılır. Burada yeni bir değişken oluşacaktır. Oluşan yeni değişkene isim verin.
  • Oluşan değişimi yazma satırına sürükleyin ve değişkeni Match kısmından yazın. İlk eşleşmenin elde edilmesi için buradaki verilecek sayı değeri 0 olacaktır. Temel olarak bu durumda bir RPA oluşturmuş olursunuz. Bunu Excel veya PDF dosyaları için artık otomatik olarak fatura numarasının alınmasını sağlayacak şekilde gerçekleştirmiş oldunuz.
  • Eklenecek regex karakterleri ile özelleştirme mümkündür. Örneğin faturadan miktarın çıkarılması için “ (?< = \ $ ) ( \ d +,?) + (. \ D + )” kalıbı kullanılır.

Diğer bir şekilde, “System.Text.RegularExpressions” ad alanını içe aktarmalısınız. UiPath Studio’da “Imports” paneline gidin ve “System.Text.RegularExpressions” yazarak ekleyin.

Daha sonra, örnek olarak e-posta adreslerini ayrıştırmak için aşağıdaki adımları izleyin:

  1. Metni okuyun ve bir “String” değişkenine atayın.
  2. “Assign” aktivitesi kullanarak, Regex.Matches metodunu çağırın ve sonuçları bir “MatchCollection” değişkenine atayın:Örnek: emailMatches = Regex.Matches(inputText, "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b")
  3. “For Each” aktivitesi kullanarak, “MatchCollection” değişkenini döngüye alın ve her bir eşleşmeyi işleyin.
  4. Her döngüde, “Value” özelliğini kullanarak eşleşen metni alın ve istediğiniz şekilde işleyin.
  5. İşlem tamamlandığında, çıktıları bir değişkende saklayabilir veya başka bir işlem için kullanabilirsiniz.

Elbette yapılacak olan işlemler için Uipath “tek bir tıklama” gibi çözümler sunmaz çünkü kodlar ile yapılacaklar neredeyse sınırsızdır. Bu durumda yazılımı kullanmak için de ne kadar çok Regex kodu bilinirse o kadar çok verimli sonuçların elde edilmesi mümkün hale gelecektir.

Uipath Regex Örnekler

Öncelikli olarak Uipath regex işlemlerini uygulayacağımız bir dosya okumamız gerekiyor. Burada kendi oluşturduğum bir txt dosyasını okuyacağım.

Uipath Regex
Uipath Regex

Regex ile Mail Adresi Almak:

Regex ile her hangi bir metin içerisinden mail adresi alabilmemiz için kullanmamız gereken kod şöyledir;

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b

Bu kodu iki şekilde kullanabiliriz;

1- Assign ile Mail Uipath Regex

Assign ile Mail Regex
Assign ile Mail Regex

Bir assign aktivitesi içine ‘Value to Save’ kısmına şu kodu yazalım,

System.Text.RegularExpressions.Regex.Matches(ReadText, “\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b”)(0).ToString

Save to kısmına istediğimiz isimde bir string değişken yazıp tanımlayalım. Tanımlama ardından bizlere çıktı olarak : ‘abdulsamedonder@gmail.com’ bilgisini verecektir.

2- Uipath Regex Matches Aktivitesi

Uipath Matches Aktivitesi
Uipath Matches Aktivitesi

Uipath Regex Matches aktivitesinin properties alanını şöyle dolduralım;

Uipath Matches Aktivitesi Properties Ayarları
  • Pattern : Regex ifadesini yazacağımız alandır.
  • Input :İşlem yapılacak metin ifadesinin değişkenidir. (İstenirse metin bu kısmada direk yazılabilir.)
  • First Match :İlk alınan değerin çıktısının verileceği değerdir.

Tüm bu işlemlerden sonra çalıştırdığımızda mail adresini almış olacağız. Peki kodun detaylı açıklaması nasıl;

  1. ReadText: Metnin okunduğu ve içeriğin saklandığı bir değişkeni temsil eder. Bu örnekte, ReadText metinden e-posta adreslerini arayacak bir düzenli ifade kullanacaktır.
  2. "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b": Bu ifade, e-posta adreslerini tanımlamak için kullanılan regex (düzenli ifade) örüntüsüdür. Bu örüntü, e-posta adreslerinin kullanıcı adı, ‘@’ sembolü, etki alanı ve üst düzey etki alanı kısımlarını tanımlar.
  3. (0): Bu ifade, eşleşen e-posta adreslerinin listesinden ilk eşleşen adresi seçer. İndeksleme ‘0’ tabanlı olduğu için, (0) ifadesi ilk eşleşmeyi temsil eder.
  4. .ToString: İşlem sonucunu string (metin) olarak döndürür. Bu sayede, eşleşen e-posta adresini bir metin olarak kullanabilir ve işleyebilirsiniz.

Kısacası, bu ifade, ReadText değişkeninde saklanan metinde e-posta adreslerini arar ve bulunan ilk e-posta adresini string (metin) olarak döndürür.

Uipath Regex ifadesinin detaylı anlatımı da şu şekilde;

  1. \b: Sözcük sınırı belirtir. Bu sayede, e-posta adresinin başka bir kelimenin içinde yer almasını önler.
  2. [A-Za-z0-9._%+-]: Bu ifade, e-posta adresinin kullanıcı adı kısmında geçerli olan karakter kümesini tanımlar. Bu küme, büyük ve küçük harfler (A-Z, a-z), rakamlar (0-9), nokta (.), alt çizgi (_), yüzde (%), artı (+) ve çıkarma (-) işaretlerini içerir.
  3. +: Bir veya daha fazla tekrarlanan karakteri eşleştirir. Bu sayede, kullanıcı adının birden fazla karakter içerebilmesini sağlar.
  4. @: E-posta adreslerinde kullanıcı adı ile etki alanı arasında yer alan ‘@’ sembolünü temsil eder.
  5. [A-Za-z0-9.-]: E-posta adresinin etki alanı kısmında geçerli olan karakter kümesini tanımlar. Bu küme, büyük ve küçük harfler (A-Z, a-z), rakamlar (0-9), nokta (.) ve çıkarma (-) işaretlerini içerir.
  6. +: Bir veya daha fazla tekrarlanan karakteri eşleştirir. Bu sayede, etki alanının birden fazla karakter içerebilmesini sağlar.
  7. \.: E-posta adreslerinde etki alanı ve üst düzey etki alanı arasında yer alan ‘.’ sembolünü temsil eder.
  8. [A-Z|a-z]: Bu ifade, e-posta adresinin üst düzey etki alanı kısmında geçerli olan karakter kümesini tanımlar. Bu küme, büyük ve küçük harfler (A-Z, a-z) içerir.
  9. {2,}: İki veya daha fazla tekrarlanan karakteri eşleştirir. Bu sayede, üst düzey etki alanının en az iki karakter içerebilmesini sağlar.
  10. \b: Sözcük sınırı belirtir. Bu sayede, e-posta adresinin başka bir kelimenin içinde yer almasını önler.

Bu düzenli ifade, e-posta adreslerinin kullanıcı adı, ‘@’ sembolü, etki alanı ve üst düzey etki alanı kısımlarını tanımlar ve eşleştirir. Bu sayede, metin içerisindeki e-posta adreslerini bulabilir ve işleyebilirsiniz.

Uipath Regex Örnekleri ve Dosyalar

Regex ile mail, telefon, doğum tarihi bilgilerini almak isterseniz aşağıda yer alan main dosyası ve txt dosyasını indirerek detaylı inceleyebilirsiniz.

Uipath ve Regex bir arada kullanıldığında özellikle birbirini tekrarlayan eylemler için son derece verimli bir işlevsellik kazanılmış olur. Önemli olan nokta ise Regex kodlarının yazımının bilinmesidir. Uipath için Regex kodlarıyla özellikle Outlook, PDF ve Excel için son derece işlevsel sonuçlar alabilirsiniz.

UiPath’te Regex kullanarak, metin işleme ve veri ayrıştırma görevlerini kolayca gerçekleştirebilirsiniz. Bu yöntemler, otomasyon projelerinizde verimliliği artırmak ve hızlı sonuçlar elde etmek için önemli bir role sahiptir.

Uipath Regex Kullanılabilecek Bazı Kısa Örnekler:

  1. E-posta adresi:
lessCopy code[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  1. Web URL:
rubyCopy codehttps?://(?:[-\w]+\.)?[-\w]+[-\w./?%&=]*
  1. Türkçe kelime (Türkçe karakterleri içeren):
cssCopy code[\wçğıöşüÇĞİÖŞÜ]+
  1. Telefon numarası (Türkiye örneği):
rubyCopy code\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{2}[-.\s]?\d{2}
  1. IP adresi (IPv4):
cssCopy code(?:\d{1,3}\.){3}\d{1,3}
  1. Tarih (gg/aa/yyyy formatında):
Copy code\d{1,2}/\d{1,2}/\d{4}
  1. Saat (HH:mm formatında):
lessCopy code(?:[01]\d|2[0-3]):[0-5]\d
  1. Rakamlar (sayılar):
Copy code\d+
  1. Sadece büyük harfli kelimeler:
cssCopy code\b[A-Z]+\b
  1. Sadece küçük harfli kelimeler:
cssCopy code\b[a-z]+\b

Bu örnekler, düzenli ifadelerle yapılabilecek pek çok farklı eşleştirme ve örüntüden sadece birkaçıdır. İhtiyaçlarınıza göre düzenli ifadeleri özelleştirebilir ve daha karmaşık yapıları eşleştirebilirsiniz.

Kaynaklar;

https://chat.openai.com

https://docs.uipath.com/studio/docs/regex-search

Kategori:

Etiketler:

,