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.