Düzenli Ifadeler

Kısaca: Düzenli ifadeler(İngilizce kısaltması regexp, regex), hesaplama alanında belirli yazım kurallarına göre düzenlenmiş, bir dizge 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 direk kendi yazım kurallarına gömülü, güçlü düzenli ifadelere sah ...devamı ☟

Düzenli ifadeler(İngilizce kısaltması regexp, regex), hesaplama alanında belirli yazım kurallarına göre düzenlenmiş, bir dizge 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 direk 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 arttıranlardandı.

Temel Kavramlar

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 herangi 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
Parentezler 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 ``greyi 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. Örneğin "colou?r", ``colour`` ve ``colorun her ikisi ile de eşleşir.
;;*
Asteriks, öncesindeki ifadenin 0, 1 veya herhangi bir sayıda olabileceğini gösterir. Örneğin "go*gle, ``ggle``, ``gogle``, ``google``, ``gooogle``...vb ile eşleşir.
;;+
Artı işareti öncesindeki ifadenin en az bir kez geçtiğini gösterir. Örneğin "go+gle", ``gogle``, ``google``, ``gooogle``, vb ile eşleşir (ama ``ggle`` ile eşleşmez).


Bu yapılar, tıpkı sayılar ve +, -, *, / gibi işleçler ile cebirsel ifadeler oluşturulabileceği gibi rasgele karmaşık ifadeler yaratmak için birleştirilebilir.

Linkler

Linux Focus`taki düzenli ifadeler çevirisi

taslak Regluleg segí°

Kaynaklar

Vikipedi

İlgili konular

perl regex regexp sed tcl unix grep

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.