İçindekiler
Bu Ek, düzenli ifadeler dünyasına kısa; ancak umarım yeterli ve kapsamlı bir giriş içerir. Bu belgede, KatePart içinde kullanılabilir olan düzenli ifadeler anlatılır. Bu düzenli ifade biçimi, ne perl düzenli ifadeleriyle ne de grep ile kullanılabilir düzenli ifadelerle doğrudan uyumlu değildir.
Düzenli İfadeler, bize bir metin dizisinin kimi olası içeriğini küçük bir yazılım parçası tarafından anlaşılacak şekilde tanımlamanın bir yolunu sağlar, böylece bir metnin eşleşip eşleşmediğini görebilir ve bazı gelişmiş durumlarda belirli parçaları veya eşleşen metni kaydedebiliriz.
Örnek: Bir metni, içinde “Henrik” veya “Pernille” adlarından biriyle başlayan ve sonrasında “say” gelen paragraflar için aramak istiyoruz.
Normal bir aramada, öncelikle adla aramaya başlardık; “Henrik”, belki sonrasında “sa” getirirdik: Henrik sa; eşleşmeleri ararken paragraf başı olmayan varyantları ve “sa” ile başlayan sözcükleri yok saymamız gerekirdi; örneğin “says”, “said” vb. Sonrasında bunların hepsini diğer adla da yinelememiz gerekecekti…
Düzenli İfadeler sayesinde bu görev tek bir aramayla ve daha büyük bir doğrulukla gerçekleştirilebilir.
Bunu başarmak için Düzenli İfadeler, eşleşecek bir dizinin genelleştirilmesini ayrıntılı olarak ifade etmeye yönelik kuralları tanımlar. Sözcüğü tam anlamıyla şu şekilde ifade edebiliriz: “Ya ‘Henrik’ ya da ‘Pernille’ ile başlayan bir satır (büyük olasılıkla öncesinde bir sekme karakteri veya 4 adet boşluk olabilir), sonrasında bir boşluk ve ‘sa’ ve sonrasında ya ‘ys’ veya ‘id’” şu düzenli ifadeyle gösterilebilirdi:
^[ \t]{0,4}(Henrik|Pernille) sa(ys|id)
Yukarıdaki örnek, çağdaş Düzenli İfadelerin dört ana konseptinin tümünü göstermektedir:
Dizgiler
Savlar
Niceleyiciler
Geriye başvurular
İfadeyi başlatan şapka (^) bir savdır ve yalnızca aşağıdaki eşleşen dizi bir satırın başındaysa doğrudur.
[ \t] ve (Henrik|Pernille) sa(ys|id) dizgilerdir. İlki, ya bir boş ya da (yatay) sekme karakteriyle eşleşen bir karakter sınıfıdır; diğer dizgi ise ya Henrik ya da Pernille ile eşleşen bir alt dizgi ve sa dizisiyle tam olarak eşleşen bir parçadır ve son olarak ya ys ya da id ile eşleşen bir alt dizgidir
{0,4} dizisi, “öncekinin 0’dan 4’e kadar herhangi bir yer” olan bir niceleyicidir.
Geriye başvurular kavramını destekleyen düzenli ifade yazılımı, dizinin eşleşen kısmının tümünü ve parantez içine alınmış alt dizgileri kaydettiği için bu başvurulara bazı erişim araçları verildiğinde, ya eşleşmenin tümünü (düzenli bir ifadeyle bir düzenleyicide bir metin belgesi aranırken, bu genellikle seçilmiş olarak işaretlenir) ya da bulunan ad ya da yüklemin son kısmını ele alabiliriz.
Tümü birlikte, ifade nerede eşleşmesini istiyorsak yalnızca orada eşleşir.
Aşağıdaki bölümlerde dizgilerin, karakter sınıflarının, savların, niceleyicilerin ve geriye başvuruların nasıl oluşturulacağı ve kullanılacağı ayrıntılı olarak açıklanacak ve son bölümde birkaç yararlı örnek verilecektir.