Yandex Metrica
Regex, Regular Expressions Genel Kullanımı - Yasin Sunmaz

Yasin Sunmaz

Kodladıkça değişen bir dünya...

Regex, Regular Expressions Genel Kullanımı

03.08.2022 yasinsunmaz 2047 0

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://regex101.com/

https://extendsclass.com/regex-tester.html

https://www.debuggex.com/

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.

Diğer Yazılar

RedisConnectionException Hatası ve Çözümü: AbortOnConnectFail=false

31.07.2023 yasinsunmaz 817 0

Redis, popüler bir açık kaynaklı veri yapısı sunucusudur ve günümüzde birçok uygulama tarafından kullanılmaktadır. Ancak, bu tür veri tabanla...

ASP.NET Core Web API'de Parametre Bağlama Yöntemleri: FromQuery, FromBody ve FromRoute

12.07.2023 yasinsunmaz 1303 0

ASP.NET Core web API projeleri, istemcilerden gelen verileri API metotlarıyla etkileşimde bulunmak için kullanılır. Bu verileri doğru bir şekilde almak ve işlemek içi...

Deployment Stratejileri (Blue Green, Rolling Update/Rollback) Nedir?

23.06.2023 yasinsunmaz 676 0

Yazılım geliştirme sürecinde, uygulamaları güncellemek ve yeni sürümleri piyasaya sürmek önemli bir adımdır. Ancak, kullanıcıların kesintisiz hizmet a...

SonarQube Kurulumu: Adım Adım Kılavuz

18.06.2023 yasinsunmaz 1305 0

SonarQube, açık kaynaklı bir statik kod analizi platformudur ve geliştiricilere kod kalitesini, güvenliğini ve performansını iyileştirmeleri için yardımcı olur. ...

Active Directory LDAP İle Kullanıcı Kimlik Doğrulama .NET

05.12.2022 yasinsunmaz 2481 0

Active Directory LDAP ile kullanıcıyı belirli bir filtre üzerinde arama veya kullanıcının kimliğini doğrulama işlemleri yapabilmekteyiz. Bu LDAP protokolünde DirectorySer...

SOLID Yazılım Prensipleri

26.11.2022 yasinsunmaz 845 0

SOLID prensipleri yazılım geliştirmede başlarda anlayıp uygulaması zor olsa da buna uyarak kod geliştirmenin faydasını zamanla görebilirsiniz. Yazdığınız kodlarda sonradan yap...

Visual Studio'da Aynı Anda Birden Çok Proje Çalıştırma

21.05.2022 yasinsunmaz 3150 0

Katmanlı mimari projelerimizde ya da bir web sitenin kullanıcı arayüzü ve admin dediğimiz yönetici ekranları aynı uygulama içerisinde geliştirebiliyoruz. Admi...