Friday, February 19, 2016

Düzenli İfadeleri Kullanarak Karakter Dizisi İçindeki Örüntüleri Bulma - Finding Patterns in Strings with Using Regular Expressions

Regex (Regular Expression) bir karakterler dizisi içinde düzenli bir parçayı bulmak için kullanılan bir yöntemdir. Düzenli yapının ifadesi Regex tanımlama kuralları kullanarak tanımlanır ve string içindeki bu kurala uyan kısımlar ayrıştırılıp elde edilebilir. Örnek olarak karmaşık bir string içinde yer alan tarih kısmını bulalım:

* Bulmak istediğimiz tarih formatı:

19.02.2016

* Örüntüyü ifade eden RexExp :

(0[1-9]|[12][0-9]|3[01]|[1-9])[- /.](0[1-9]|1[012]|[1-9])[- /.](19|2)\d\d\d

* Test Verisi 1:

dafffas1319.02.2016daq12341515

* Test Verisi 2:

-*daf/fa.*19.2.20169a1341qwca12.1.1

* Çalıştıracağımız C# kodu:

public static DateTime? findDateInString(string SearchString)
{
Regex ex = new Regex(DateInStringRegEx);
var match = ex.Matches(SearchString);
if (match.Count > 0)
return DateTime.Parse(match[0].Value);
else
return null;
}

SONUÇLAR:

* Sonuç 1 (Test Verisi 1):

19.02.2016

* Sonuç 2 (Test Verisi 2):

19.02.2016



No comments:

Post a Comment