Regular Expression (RegExp) – Düzenli Deyimler, İfadeler
Automata (otomat) Dersinin önemli konularından
birisi olan regular expressions kavramı, tanımlı olan dilde
üretilebilecek olan ifadelerin gösterim biçimidir.
Regular
expressions, constantlardan (sabitler) ve operatörlerden (operators)
oluşan kelimeler kümesi ve bu kelimeler kümesi üzerinde tanımlı
işlemlerdir. Sonlu bir alfabede Σ ‘de aşağıdaki sabitler ( constant )
tanımlıdır.
* (boş küme) ∅ kümenin boş olduğunu gösterir ve ∅ sembolü ile gösterilir
* (boş kelime) ε , {ε} kümesi şeklinde gösterilir
* (değişmez (literal) harf (charachter) ) dil kümesi Σ için {a} kümesi “a” harfini içerir.
Yukarıdaki bu dil için tanımlı işlemler aşağıda verilmiştir:
* ( üleştirme (concatenation) ) RS gösterimi { αβ | α, R için ve β, S için} kümesi şeklinde ifade edilir. Örneğin {”ab”, “c”}{”d”, “ef”} = {”abd”, “abef”, “cd”, “cef”}.
* ( alternation (değişim veya seçim) ) R|S gösteirmi R S lerin birleşim kümesini ifade eder.
* (Kleene star) R*
şeklinde ifade edilir ve R kümesindeki bütün concatenation (üleştirme)
ihtimallerinin oluşturduğu kümeye denilir. Bu kümeye ε dahildir.
Örneğin, {”ab”, “c”}* = {ε, “ab”, “c”, “abab”, “abc”, “cab”, “cc”,
“ababab”, … }.
Bazı kitaplarda | sembolü yerine + V veya U sembolleri de kullanılabilir.
Örnekler:
* a|b* -> {ε, a, b, bb, bbb, …}
* (a|b)* gösterimi , a ve b sembollerinden oluşabilecek bütün kelimeleri ifade eder.
* b*(ab*)* yukarıdaki örnek ile aynı sonucu verir
* ab*(c|ε)
gösterimi, a kelimesi ile başlayan, ve sıfır veya istenilen miktarda b
içeren son olarak da ister c ister ε ile biten kelimeleri ifade eder.
* (aa|ab(bb)*ba)*(b|ab(bb)*a)(a(bb)*a|(b|a(bb)*ba)(aa|ab(bb)*ba)*(b|ab(bb)*a))*
gösterimi, a ve blerden oluşan ve çift sayıda a veya tek sayıda b içeren kelimeleri ifade eder.
« Nesne Yönelimli Programlama (Object Oriented Programming) | Row Major Order (Satır bazlı sıralama) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Regular Expression (RegExp) – Düzenli Deyimler, İfadeler' isimli yazı 14 Apr 2007 tarihinde, saat: 03:23 'de �adi Evren �EKER tarafından gönderilmiş, toplam 725 defa okunmuştur.
Benzer yazıları Bilgisayar Matematiği, Programlama Dilleri, Temel Bilimler kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Düzenli İfadelerde Pompalama Önsavı (Pumping Lemma for Regular Expressions)
Regular Expression (RegExp) - Düzenli Deyimler, İfadeler
Pompalama Önsavı (Pumping Lemma)
Chomsky Hiyerarşisi ( Chomsky Hierarchy )
k-düzenli graf ( k-regular graph)
Hesaplanabilir Fonksiyon (Computable Function)
Muntazam Diller (Formal Languages)
EBNF (Uzatılmış BNF, Extended Backus Normal Form)
Turing Makinesi (Turing Machine)
İçerikten bağımsız dil (Context Free Language, CFL)
Binaen Burhan (İnşâa ile İspat , Proof by Construction, Binaenaleyh)
Belirsiz Sonlu Otomat (Nondeterministic Finite Automat, NFA)
NFA'den DFA'e çevirim (Converting NFA to DFA)
Özyineli Sayılabilir Diller (Recursively Enumerable Languages)
Bağlantılar