Regex (Düzenli İfadeler): Metin İçinde Desen Arama ve Doğrulama

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

1. Regex Nedir?​


Regex, metinler içinde belirli karakter kombinasyonlarını tanımlayan bir desen (pattern) dilidir. JavaScript'te Regex oluşturmanın iki yolu vardır:

Literal (Eğik Çizgi): /desen/bayraklar

Constructor (Nesne): new RegExp("desen", "bayraklar")

JavaScript:
const desen = /javascript/i; // "javascript" kelimesini ara, "i" harf duyarlılığını kaldırır.
const metin = "JavaScript öğrenmek çok eğlenceli!";
console.log(desen.test(metin)); // Çıktı: true

2. En Çok Kullanılan Regex Karakterleri (Meta-karakterler)​


Regex'i güçlü kılan, karakterlerin ne anlama geldiğini belirleyen özel sembollerdir:


  • []\d : Herhangi bir rakamı arar (0-9).
    []\w : Alfanümerik karakterleri (harf, rakam ve alt çizgi) arar.
    []\s : Boşluk karakterlerini (space, tab, yeni satır) arar.
    []. (Nokta) : Herhangi bir tek karakteri temsil eder.
    []^ : Metnin başlangıcını ifade eder.
    []$ : Metnin sonunu ifade eder.

3. Miktar Belirleyiciler (Quantifiers)​


Bir karakterin kaç kez tekrarlanacağını belirtmek için kullanılır:


  • []+ : 1 veya daha fazla kez.
    []* : 0 veya daha fazla kez.
    []? : 0 veya 1 kez (Opsiyonel).
    []{n} : Tam olarak n kez.
  • {n,m} : En az n, en fazla m kez.

JavaScript:
// Bir telefon numarası formatı kontrolü: (5xx) xxx xx xx
const telRegex = /^\d3 \d{3} \d{2} \d{2}$/;
console.log(telRegex.test("(555) 123 45 67")); // true

4. Bayraklar (Flags)​


Regex'in çalışma şeklini değiştiren harflerdir:

  • []g (global): Tüm eşleşmeleri bulur, ilkini bulup durmaz.
    []i (case-insensitive): Büyük/küçük harf ayrımını kaldırır.
  • m (multiline): Çok satırlı metinlerde çalışmayı sağlar.

5. JavaScript Metodları ile Regex Kullanımı​


Regex'i sadece doğrulamak için değil, metinleri parçalamak veya değiştirmek için de kullanırız:

JavaScript:
const mesaj = "Merhaba 2024, hoş geldin 2025!";
const rakamlar = mesaj.match(/\d+/g); // ["2024", "2025"]

const yeniMesaj = mesaj.replace(/\d+/g, "YIL");
// "Merhaba YIL, hoş geldin YIL!"

Pratik Örnek: Basit Bir E-posta Doğrulama​


JavaScript:
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;
const email = "[email protected]";

if (emailRegex.test(email)) {
console.log("Geçerli e-posta adresi.");
} else {
console.log("Hatalı format!");
}



Sonuç

Regex ilk bakışta "rastgele karakter yığını" gibi görünebilir ve öğrenme eğrisi biraz diktir. Ancak bir kez mantığını kavradığınızda, yüzlerce satır sürecek if-else kontrollerini tek bir satırda çözebildiğinizi göreceksiniz. Regex, her profesyonel geliştiricinin alet çantasında bulunması gereken "İsviçre çakısı"dır.
 
Geri
Üst