regülar ne demek?

Regüler İfade (Regular Expression)

Regüler ifadeler (regex veya regexp olarak da bilinir), metin içindeki kalıpları tanımlamak ve aramak için kullanılan güçlü bir araçtır. Temelde, bir metin dizesinde belirli bir deseni eşleştirmek için kullanılan bir karakter dizisidir. Regüler ifadeler, metin işleme, veri doğrulama, arama motorları, derleyiciler ve daha birçok alanda yaygın olarak kullanılır.

Temel Kavramlar:

  • Karakterler:

    • Normal karakterler (a, b, c, 1, 2, 3, vb.): Kendilerini temsil eder.
    • Özel karakterler (meta karakterler): Özel anlamlara sahiptir ve kalıpları daha esnek hale getirir. Örnekler: ., *, +, ?, ^, $, [], {}, |, \.
  • Meta Karakterler ve Anlamları:

    • . (Nokta): Herhangi bir tek karakteri eşleştirir (satır sonu hariç).
    • * (Yıldız): Kendisinden önce gelen karakterin sıfır veya daha fazla tekrarını eşleştirir. https://www.nedemek.page/kavramlar/yildiz%20sembolu
    • + (Artı): Kendisinden önce gelen karakterin bir veya daha fazla tekrarını eşleştirir.
    • ? (Soru İşareti): Kendisinden önce gelen karakterin sıfır veya bir tekrarını eşleştirir (isteğe bağlı).
    • ^ (Şapka): Satırın başlangıcını belirtir.
    • $ (Dolar): Satırın sonunu belirtir.
    • [] (Köşeli Parantezler): Bir karakter kümesini tanımlar. Örneğin, [abc] a, b veya c karakterlerinden herhangi birini eşleştirir. https://www.nedemek.page/kavramlar/koseyli%20parantez
    • {} (Küme Parantezler): Tekrar sayısını belirtir. Örneğin, a{2,4} a karakterinin 2 ile 4 arasında tekrarını eşleştirir.
    • | (Veya): İki veya daha fazla kalıbı ayırır. Örneğin, a|b a veya b karakterini eşleştirir.
    • \ (Ters Eğik Çizgi): Özel karakterlerin anlamını yok saymak için kullanılır (escape). Örneğin, \. nokta karakterini eşleştirir. https://www.nedemek.page/kavramlar/ters%20egik%20cizgi
  • Karakter Sınıfları:

    • \d: Herhangi bir rakamı (0-9) eşleştirir. https://www.nedemek.page/kavramlar/rakam
    • \w: Herhangi bir alfanümerik karakteri (a-z, A-Z, 0-9, _) eşleştirir.
    • \s: Herhangi bir boşluk karakterini (boşluk, tab, satır sonu) eşleştirir. https://www.nedemek.page/kavramlar/boşluk%20karakteri
    • \D: \d'nin tersi; rakam olmayan herhangi bir karakteri eşleştirir.
    • \W: \w'nin tersi; alfanümerik olmayan herhangi bir karakteri eşleştirir.
    • \S: \s'nin tersi; boşluk olmayan herhangi bir karakteri eşleştirir.
  • Gruplama ve Yakalama:

Kullanım Alanları:

  • Veri Doğrulama: E-posta adresleri, telefon numaraları gibi verilerin formatını doğrulamak.
  • Arama ve Değiştirme: Metin içinde belirli kalıpları aramak ve değiştirmek.
  • Metin Ayrıştırma (Parsing): Metin verisini yapılandırılmış bir formata dönüştürmek.
  • Derleyiciler ve Yorumlayıcılar: Programlama dillerinin sözdizimini analiz etmek.

Örnekler:

  • [0-9]+: Bir veya daha fazla rakamdan oluşan bir sayıyı eşleştirir.
  • \b\w{5}\b: Tam olarak 5 karakterden oluşan bir kelimeyi eşleştirir (\b kelime sınırını belirtir). https://www.nedemek.page/kavramlar/kelime%20sınırı
  • ^https?://.*\.com$: http:// veya https:// ile başlayan ve .com ile biten bir URL'yi eşleştirir.

Regüler ifadeler, farklı programlama dillerinde ve araçlarda (örn., Python, JavaScript, Perl, grep, sed) farklı sözdizimi varyasyonlarına sahip olabilir. Ancak temel kavramlar ve prensipler aynıdır.