Mikroservislerin Gizemi: Karmaşık Altyapı Sorunlarına Kolay Çözüm Günümüzde mikroservis tabanlı uygulamalar geliştirmek, teknolojik açıdan...
Regex, Regular Expressions Genel Kullanımı
Bir çok yazılım dilinde bazı kontroller için Regex ifadeler ihtiyaç duyabiliyoruz. Bunların en başında e-posta, telefon ve web site geliyor. Bunların doğruluğunu kontrol etmek adına Regular Expression kurallarını uygulamamız gerekiyor. Tabi bunun ile ilgili hazır Regular Expression ifadeler birçok yerde mevcut. Fakat bu ifadelerin mantığını ne anlama geldiğini bilmek farklı ifadeler hazırlarken size oldukça fayda sağlayacaktır.
Genel Karakterler
. = Tüm ifadeler yerine geçer.
\. = Sadece noktayı bulur.
\) = Sadece parantez kapanışını bulur.
\&\& = && olan karakteri bulur.
\d = Rakamları kapsar, 0-9 aralığında olanları.
\D = Rakam olmayan diğer ifadeleri kapsar.
\w = Sayı, rakam ve alt çizgi ifadeleri kapsar.
\W = Sayı, rakam ve alt çizgi harici ifadeleri kapsar.
\s = Boşluk ifadeleri kapsar.
\S = Boşlukların haricindeki ifadeleri kapsar.
NOT: Küçük harf kuralların tersi büyük harfli olanlardır.
Sınırlayıcı Karakterler
\b = Başlangıç ve sonu string karakter olmalı.
\B = Başlangıç ve sonu string karakter olmayanlar.
^ = Bir ifadenin başlangıcında itibaren var mı ona bakar. ^yasin olduğunda yasin ile başlıyor mu diye bakar.
$ = Bir ifadenin sonundan başa doğru var mı ona bakar. yasin& olduğunda yasin ile sondan başlıyor mu diye bakar.
Veya İfadesi
| = Veya işareti birden fazla durum için kullanılır.
(123)1313 ifadesi ile 1231313 ifadesi aynı olduğunu varsayarsak yani parantez olabilir ya da olmayabilir. Bu durumda (\(\d\d\d\)|\d\d\d)\d\d\d\d$ şeklinde bir kullanım yapılabilir.
Gruplandırma
[] = Köşeli parantez içinde belirtilir. [a1] olduğunda a ve 1 ifadelerini bulur. [a-zA-Z] olduğunda küçük a’da küçük z’ye kadar ve büyük A’dan büyük Z’ye kadar olan ifadeleri bulur. [0-9] da 0-9 arasındaki rakamları ifade eder.
[^a-z] = küçük a ile z arasında olmayan ifadeleri göster.
yas([a-z]|\d) = yas ile başlayacak sonrasında a-z arasında ifade içerecek veya rakam olacak.
Miktar Belirleyiciler
\d\d\d = 3 tane rakamı ifade eder. Bunu yerine;
\d{3} = Bu kullanım da 3 tane rakamı ifade eder.
yasin\w+ = yasin ile başlayıp sonunda bir sayı, rakam veya alt çizgi olacak ve + konulduğu içinde devamı da öyle olacak anlamındadır. Örnek yasinsunmaz + olmaz ise yasins bulur sonrasını bulmaz.
yasin\d+ = yasin ile başlayıp sonunda bir rakam olacak ve + konulduğu içinde devamı da öyle olacak anlamındadır. Örnek yasin123
\d{5} = 5 haneli rakam bulur.
\d{2,5} = 2-5 arası haneli rakamlara bakar.
\d{7} = 7 ve sonrasındaki haneli rakamlara bakar. 7,8,9+++ gibi rakamlıları bulur.
yas{2}in = yassin olanı bulur. S harfinden 2 tane olması gerekiyor.
yas*in = ya dan sonra s harfi isteği kadar olabilir ya da hiç olmayabilir ama sonrasında in olmalıdır. Örnek yain, yassssin, yassssssssssin gibi ifadeleri bulabilir.
? İfadesi
Kendinden önceki karakter ile eşleşme durumudur. 0 veya 1 döndürür gibi düşünebiliriz.
\d{3}(-?|\s)\d{2}(-?|\s)\d{2} = 123 52 68 veya 123-52-68 ifadesini kabul eder. 3 karakter rakam sonrasında tire veya boşluk sonra 2 rakam sonra tire veya boşluk tekrar 2 rakam olacak şekilde kural oluşturuldu.
! İfadesi
Kendinden sonraki ifade eşlemiyorsa ifadeyi bulur. Örnek yas(?![0-9]) ifadesinde yas ile başlayacak ama sonrasında rakam olmayacak. Yasin, yassssiiin geçerlidir. yas56in, suyas9 geçersizdir.
Email Formatı
[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+$
Website Formatı
^https?://(www.)? [a-zA-Z0-9-])+\.[a-zA-Z0-9-]+$
yasinsunmaz\.(com|net|org) = yasinsunmaz. İfadesinden sonra com veya net veya org olmalıdır.
Faydalı Linkler
https://extendsclass.com/regex-tester.html
https://www.rexegg.com/regex-quickstart.html
Umarım faydalı olmuştur. İyi çalışmalar dilerim.
Yorum yapabilmek için giriş yapmalısınız. Giriş yapmak için tıklayınız.