En İyi Sorular
Zaman Çizelgesi
Sohbet
Bakış Açıları
Düzenli ifade
bir arama modeli oluşturan karakter dizisi Vikipedi'den, özgür ansiklopediden
Remove ads
Düzenli ifadeler veya kurallı ifadeler, bilgisayar bilimlerinde ele alınan metindeki kimi katarların kısa yoldan ve esnek bir biçimde belirlenmesini sağlar. Bu katarlar belli karakterler, kelimeler veya karakter örüntüleri olabilir. Düzenli ifadeler, bir biçimsel dil kullanarak yazılır ve bir düzenli ifade işleyici tarafından yorumlanır. Bir düzenli ifade işleyicisi ya ayrıştırıcı olarak hizmet eden ya da metni inceleyip verilen tarife uygun kısımlarını belirleyen bir programdır.
![]() | Bu madde, Vikipedi biçem el kitabına uygun değildir. (Ağustos 2009) |

Aşağıda bir düzenli ifade ile ifade edilebilecek tariflere birkaç örnek görülebilir:
- herhangi bir yerde bulunan "ara" karakter dizisi; "ara", "araba", "paravan" gibi
- diğer karakterlerden yalıtılmış şekilde bulunan "ara" kelimesi
- kendisinden önce "kısa" veya "uzun" kelimesi geçen "ara" kelimesi
- bir veya daha fazla rakamdan sonra gelen "TL" karakter dizisi
Düzenli ifadeler, hemen hemen tüm programlama dillerinde kütüphaneler olarak mevcuttur. Ancak bunlar her biçimsel dili ayırmak için yeterli değildir, bkz. Biçimsel dil kuramı. Pek çok programlama dili ve/veya programlama dilinde, bu işlem ayrıştırıcı yardımı ile otomatik üretilen bir programla yapılabilir.
Remove ads
Kullanım alanları
Özetle
Bakış açısı

Düzenli ifadeler pek çok farklı metin işleme işlerinde ve daha genel olarak verinin sadece metin olmadığı katar işleme işlerinde kullanılmaktadır. Yaygın uygulamaları veri doğrulama, veri ayıklama (özellikle ağ ayıklama), veri dönüştürme, basit (metin) ayrıştırma, sözdizimi vurgulama sistemlerinin hazırlanması ve daha pek çok diğer görevlerdir.
Internet arama motorlarında düzenli ifade kullanımı faydalı olabilecek olsa da, bütün veritabanı üzerinde çalıştırılması, düzenli ifadenin karmaşıklığına ve tasarımına bağlı olarak çok fazla işlemci gücü gerektirebilmektedir. Sistem yöneticileri veritabanlarında düzenli ifadeler tabanlı sorgular çalıştırabilseler de, çoğu arama motoru düzenli ifade desteğini kullanıcılarına sağlamaz. Bu konuda önemli istisnalar Google Code Search, Exalead gibi özelleşmiş arama motorlarıdır.
Düzenli ifadeler (İngilizce kısaltması regexp, regex), hesaplama alanında belirli yazım kurallarına göre düzenlenmiş, bir dizge (yazı karakteri) setini tanımlayan veya onunla uyuşan dizgelerdir. Düzenli ifadeler birçok metin düzenleyici, arama araçları ve metin tabanlı belirli desenleri idare etme araçları tarafından kullanılır. Birçok programlama dili dizgeleri idare etmek için düzenli ifadeleri destekler. Örneğin Perl ve Tcl direkt kendi yazım kurallarına gömülü, güçlü düzenli ifadelere sahiptir. Unix dağıtımları tarafından sağlanan araçlar seti (düzenleyici sed ve filtreleyici grep de dahil olmak üzere) düzenli ifadeler kavramının tanınırlığını ilk artıranlardandı.
Remove ads
Temel Kavramlar
Özetle
Bakış açısı
Bir düzenli ifade, çoğunlukla desen olarak geçen, dizgeler seti tanımlayan bir ifadedir. Genellikle tüm elemanları listelemeden setin kısa bir tanımını vermek için kullanılırlar. Örneğin Handel, Händel ve Haendel dizgelerini içeren bir set "H(ä|ae?)ndel" deseni ile tanımlanabilir (ya da desen 3 dizgenin her biri ile eşleşir (matches) de denebilir). Çoğu biçimci yaklaşımda eğer özel bir set ile uyuşan herhangi bir düzenli ifade varsa buna benzer sonsuz sayıda ifade vardır. Çoğu biçimci yaklaşım düzenli ifadeleri oluşturmak için takip eden işlemleri sağlar.
Seçenekleme
Dikey bir çizgi seçenekleri ayırır. Örneğin "gr(a|e)y" olarak kısaltılabilecek olan "gray|grey" "gray" ya da "grey" ile eşleşir.
Gruplama
Parantezler işleçlerin (operatör) alan ve önceliklerini tanımlamak için kullanılır. Örneğin "gray|grey" ve "gr(a|e)y" değişik desenlerdir, ama her ikisi de gray ve grey'i içeren kümeyi tanımlar.
Niceleme
Bir karakter ya da grubun ardından gelen niceleyici öncesindeki ifadenin kaç kez görülebileceğini belirtir. En temel niceleyiciler ?, * ve +'dır:
?
Soru işareti öncesindeki ifadenin 0 veya 1 kez geçtiğini gösterir. Örn: "colou?r", colour ve color'un her ikisi ile de eşleşir.
*
Asteriks, öncesindeki ifadenin 0, 1 veya daha fazla bir sayıda olabileceğini gösterir. Örn: "go*gle, ggle, gogle, google, gooogle...vb ile eşleşir.
+
Artı işareti öncesindeki ifadenin en az 1 kez geçtiğini gösterir. Ör: "go+gle", gogle, google, gooogle ile eşleşir amaggle ile eşleşmez.
Bu yapılar, tıpkı sayılar ve +, -, *, / gibi işleçler ile cebirsel ifadeler oluşturulabileceği gibi rastgele karmaşık ifadeler yaratmak için birleştirilebilir.
Remove ads
Düzenli İfadeler Listesi
Özetle
Bakış açısı
Remove ads
Örnekler
e([:digit:])? -- Sıfır veya bir sayıdan sonra gelen 'e' karakterini bulur. [:digit:] gibi tüm isimlendirilmiş karakter sınıflarının parantezler içine alınması gerektiğini unutmayın.
^([:digit:])$ -- Sadece tek basamaklı satırları ya da hücreleri bulur.
Arama terimlerini karmaşık arama işlemlerini gerçekleştirecek şekilde birleştirebilirsiniz.
Bir paragraf içindeki yalnız üç haneli sayıları bulmak için
^[:digit:]{3}$
^ aramanın paragraf başından başlayacağı anlamına gelir,
[:digit:] herhangi ondalık hane anlamına gelir,
{3} "rakam" hanelerinin tam olarak üç adet olacağını belirler,
$ eşleştirmenin paragraf sonunda bitmesi gerektiğini belirler.
Remove ads
Dış bağlantılar
- Linux Focus'taki düzenli ifadeler çevirisi30 Haziran 2008 tarihinde Wayback Machine sitesinde arşivlendi.
- Writer'daki düzenli ifadelerle ilgili wiki sayfası 7 Ağustos 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- Calc düzenli ifadeleri hakkında Wiki sayfası 7 Ağustos 2016 tarihinde Wayback Machine sitesinde arşivlendi.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads