REGEX (Regular Expressions) Düzenli İfadeler Kullanımı


Regex, hemen tüm modern programlama dillerinin bir parçası ve tüm işletim sistemleri ve uygulamalarda kullanılan bir yapıdır. Regex, veriler içerisinde istediğimiz veriyi bulmaya yarayan bir çeşit algoritma veya yazım biçimidir diyebiliriz.

Regexi, aramak istediğimiz veriye karşılık gelen ifadeyi yazarak kullanırız. Örneğin mehmet kelimesini aramak kolaydır. Ancak aynı arama ile hem mehmet hem de mahmut sonucunu bulmak istersek, regex kullanırız. Bu basit örnektir ve bu sonsuz sayıda çeşitlendirilebilir.

Regex nerelerde kullanılır:

Regex hemen tüm programlama dillerinde ve uygulamalar içinde kullanılır. Bir veriyi bulmak, değiştirmek, doğrulamak, ayrıştırmak gibi operasyonlarda çok yardımcı olur. Toplu değişiklikler, parser yazmak konuları da örnek verilebilir.

Programlama dillerinde (Java, C#, C++, Python), işletim sistemlerinin komut satırlarında (powershell, bash vb.), uygulamalarda (Microsoft Word, Notepad++ vb.) gibi alanlarda regex kullanılabilmektedir.

Regex Kullanımı:

Regex kullanırken amacımız “düzenli ifade”yi bulmaktır. Örneğin kalem kelimesi ile aynı anda kelam kelimesini de bulmak istersek şu şekilde bir ifade yazmalıyız:

k[ae]l[ae]m

Ama bunu yazdığımızda, kilim kelimesi eşleşmez. Bu regexin eşleşeceği kelimeler şunlardır:

kalem

kalam

kelam

kelem

 

Kilim kelimesi de eşleşsin istersek şunu yazabiliriz:

k.l.m

Burada gördüğümüz nokta karakteri, herhangi bir karakteri temsil eder. Kullanımı bu şekilde gördüğümüze göre, metakarakterleri bilmemiz gerekir. Bunlar:

.              Herhangi bir karakter demektir

+             Solundaki karakterin en az bir kez veya daha fazla tekrar etmesi demektir

?             Solundaki karakter hiç olmayabilir veya bir defa olabilir

*             Solundaki karakter hiç olmayabilir veya birden fazla tekrar edebilir

[ ]           Karakter kümesi tanımlamak için

{ }           Tekrar sayısı kümesi

–             Aralık belirtmede kullanılır

^             Satır başlarını ifade eder, [] içerisinde ise tersi ve negatifi anlamındadır.

$             Satır sonu

\             Kaçış karakteri

|             veya anlamındadır

\d           Herhangi bir rakam [0-9]

\D          Rakam olmayan herhangi bir simge [^0-9]

\w          Herhangi bir harf, rakam veya alt çizgi (Türkçe harfler hariç) (alfanümerik) [a-zA-Z0-9_]

\W         Alfanümerik olmayan [^a-zA-Z0-9_]

\s          Herhangi bir boşluk karakteri [ \t\n\r\f]

\S          Boşluk karakteri olmayan [^ \t\n\r\f]

 

Sırayla bu metakarakterleri örneklersek:

.              kal.m  -> kalam, kalbm, kal=m, kal4m, kal m  … gibi birçok seçenek ile eşleşir

+             kal+m -> kalm, kallm, kalllllllllm …. gibi birçok seçenek ile eşleşir

?             kal?m -> kam, kalm ile eşleşir

*             kal*m -> kam, kalm, kallm, kalllllllm … gibi birçok seçenek ile eşleşir

[ ]           kal[eEi]m -> kalem, kalEm, kalim ile eşleşir

– ile kullanım

kal[a-z]m -> kalam, kalbm, kalcm ….kalzm ile eşleşir

kal[1-3]m -> kal1b, kal2m, kal3m ile eşleşir

{ }           kale{2}m -> kaleem ile eşleşir

{min,max} kullanımı

kale{0,2}m -> kalm, kalem, kaleem ile eşleşir

kale{0,}m -> kalm, kalem, kaleem, kaleeee…eeem gibi birçok seçenek ile eşleşir

^             ^kalem -> Satır başında geçen kalem ifadesi ile eşleşir

kal[^e]m -> kalim, kal9m, kal_m, kal#m gibi e yerine herhangi bir karakter gelebilir

$             kalem$ -> sadece satır sonunda olan kalem ile eşleşir

\             kal\.m -> kal.m ile eşleşir

|             kal(em|bi)dir -> kalemdir, kalbidir ile eşleşir

\d           kal\dm -> kal0m, kal1m, kal2m …. kal9m eşleşir

\w          kal\wm -> kalam…kalzm, kal0m…kal9m, kalAm…kalZm ve kal_m ile eşleşir

, ,

  1. Henüz hiç yorum yok.
(yayınlanmayacak)