Regular Expressions, benim söylemeyi sevdiğim şekliyle RegEx, Türkçe’si ile “düzenli ifadeler”; eğer program yazıyorsanız ya da UNIX tabanlı sistemlerle haşır neşirseniz, kaçınılmaz olarak karşı karşıya geleceğiniz, muhtemelen de canınıza okuyacak bir konu.

PERL’in bu kadar çok sevilmesinin (kimilerince!) muhtemeldir ki, en iyi nedeni, barındırdığı güçlü RegEx desteği. Aslına bakarsanız, PHP, hem POSIX uyumlu, hem de (kısmen) PERL (PHP’de PCRE olarak geçer; Perl Compatible Regular Expressions) uyumlu RegEx desteği içeriyor. Dolayısıyla, artık Webmin gibi programların bile, PERL üzerinde diretmesinde bir anlam yok. PERL; öğrenmesi, program geliştirmesi uzun zaman alan, zahmetli bir dil. Geliştiricisinin de adını koyarken dediği gibi, “pathetically eclectic”. Eğer PERL öğrenme niyetinde iseniz, direk pas geçip PHP öğrenin derim. (Yeni programcı adayları için). Bu sayede, yazım ve çalışma biçimi hemen hemen aynı olan C ve JAVA gibi dilleri de öğrenmeniz daha kolay olacaktır.

Reg Ex konusu ise, farklı bir alan. Kaçınılmaz olarak karşınıza çıkacak. Size tavsiyem, programlama dilinden bağımsız olarak, Reg Ex’i ayrı bir “dilmiş gibi” öğrenmeye başlamanız. Çünkü, şimdiye kadar karşılaştığım en zor “dil”. Yüzde onunu bile bilmediğimi düşünüyorum (ben çok iyi bilirim diye sallayanı da gördük; bilgisayar dünyası palavra üzerinde dönüyor).

POSIX mi, PERL mi?

POSIX, daha evrensel gibi görünmesine karşın, maalesef GNU/Linux dünyası PERL’i pompalıyor gibi. POSIX standardı Reg Ex, bana daha kullanışlı, mantıksal geliyor. Aslında, PERL daha kuvvetli; ama Reg Ex’i daha da karmaşık hale getiriyor. Ben minimalizmi seviyorum; tek satırlık destan gibi Reg Ex yerine, işimi iki satırda, anlaşılır, bilgisayarın da “anlayıp”, kısa sürede işleyebileceği şekilde yapmak tercihim.

Reg Ex, Blogmani projesinde yine başıma bela oldu; öyleki, 1 saat içinde cümleyi tek satırda işleyemeyince, işi üç parçaya bölmeye karar verdim.

Reg Ex’i öğrenmek için en iyi kaynaklardan biri, GNU/Linux tabanlı bir sistemde çalışıyorsanız, bol bol SED & Gawk & vi kullanmak. Eğer Windows tabanlı bir sisteminiz varsa, EditPad Pro isimli, küçük ama herşeyi yapabilen metin editörünü tavsiye ederim.

Maalesef konuyla ilgili sistematik, iyi yazılmış belgelere, hatta kitaplara ulaşmanız pek mümkün değil. Bildiğim kadarıyla, sadece düzenli ifadeler üzerine yazılmış, Türkçe bir kitap yok.