Regex bir string ifadenin (metin) belirli kurallara uyumluluğunu kontrol etmeye ve düzenlemeye yarar.
Açılımı Regular Expressions, Türkçesi ise Düzenli İfadeler olarak geçer.
Regex ile bir alana sadece harf mi girilmiş, rakam mı girilmiş ya da eposta adresi mi girilmiş kontrol edebilirsiniz.
C# içerisinde Regex kullanabilmek için System.Text.RegularExpression kütüphanesini eklememiz gerekmektedir.
[csharp]using System.Text.RegularExpressions;[/csharp]
Örnek Kullanım:
[csharp]Regex r = new Regex(@"Regex formatı bu alana gelecektir…");
if(r.IsMatch(txtVeri.Text))
MessageBox.Show("Geçerli");
else
MessageBox.Show("Hatalı");[/csharp]
Yukarıdaki örnekte olduğu gibi yeni bir Regex oluştururken içerisine formatını göndermeniz yeterli olacaktır.
Regex formatları içerisinde C#’a özel karakterler içerebileceğinden Regex formatı (string ifade) yazılmadan önce bu karakterleri kullanabilmek için başına @ işareti eklenmiştir.
Sıkça kullanılan Regex Formatları:
Sadece Harf:
[csharp]^[a-zA-Z]*$[/csharp]
Sadece Rakam:
[csharp]^[0-9]*$[/csharp]
Eposta Adresi:
[csharp]^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$[/csharp]
IP Adresi:
[csharp]^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$[/csharp]
Kredi Kartı:
[csharp]^((4\d{3})|(5[1-5]\d{2}))(-?|\040?)(\d{4}(-?|\040?)){3}|^(3[4,7]\d{2})(-?|\040?)\d{6}(-?|\040?)\d{5}[/csharp]
Bunlar dışında yüzlerce Regex formatı vardır, bu formatlara dünya’nın en büyük regex arşivi olan regexlib.com adresinden ulaşabilirsiniz.
Kredi kartı, T.C kimlik no, alan adı gibi kontrollerinizi Regex yerine kendi algoritmalarıyla kontrol etmeniz daha fazla doğruluk oranı sağlayacaktır. Regex’i daha çok eposta, harf, rakam gibi basit kontrollerinizde kullanabilirsiniz.