.* Regex (Düzenli İfadeler) Başlangıç Rehberi
📅 29 Mart 2026 · ☕ 10 dakika okuma · Yazar: Yunus Ayan
Regex Nedir?
Regex (Regular Expressions / Düzenli İfadeler), metin içinde belirli kalıpları (pattern) aramak, eşleştirmek ve değiştirmek için kullanılan güçlü bir araçtır. 1951'de matematikçi Stephen Kleene tarafından tanımlanan düzenli diller kavramından türemiştir.
Regex, hemen hemen tüm programlama dillerinde ve birçok metin editöründe desteklenir. Form doğrulama, log analizi, veri çekme ve metin dönüştürme gibi birçok alanda kullanılır.
Temel Regex Karakterleri
Özel Karakterler (Meta Characters)
| Karakter | Açıklama | Örnek |
|---|---|---|
| . | Herhangi bir karakter (yeni satır hariç) | a.c → "abc", "a1c",
"a c" |
| ^ | Satır/metin başı | ^Merhaba → satır
başındaki "Merhaba" |
| $ | Satır/metin sonu | dünya$ → satır
sonundaki "dünya" |
| * | 0 veya daha fazla tekrar | ab*c → "ac", "abc",
"abbc" |
| + | 1 veya daha fazla tekrar | ab+c → "abc",
"abbc" (ama "ac" değil) |
| ? | 0 veya 1 tekrar (opsiyonel) | colou?r → "color",
"colour" |
| \d | Herhangi bir rakam [0-9] | \d{3} → "123",
"456" |
Karakter Sınıfları
\d— Rakam (0-9)\D— Rakam olmayan\w— Kelime karakteri (harf, rakam, alt çizgi)\W— Kelime karakteri olmayan\s— Boşluk karakteri (space, tab, newline)\S— Boşluk olmayan karakter[abc]— a, b veya c karakterlerinden biri[^abc]— a, b ve c hariç herhangi bir karakter[a-z]— a'dan z'ye herhangi bir küçük harf
Sık Kullanılan Regex Kalıpları
📧 E-posta Doğrulama
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Bu kalıp, basit bir e-posta adres doğrulaması yapar. Kullanıcı adı kısmında harf, rakam ve bazı özel karakterlere izin verir.
📱 Telefon Numarası (Türkiye)
^(\+90|0)?[5][0-9]{9}$
Türkiye GSM numaralarını doğrular. +90, 0 ön eki ile veya doğrudan 5 ile başlayan 10 haneli numaraları kabul eder.
🔗 URL Doğrulama
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
🔑 Güçlü Şifre Kontrolü
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
En az 8 karakter, bir büyük harf, bir küçük harf, bir rakam ve bir özel karakter içermelidir.
Regex Bayrakları (Flags)
g(global): Tüm eşleşmeleri bulur (yalnızca ilkini değil)i(case-insensitive): Büyük/küçük harf farkı gözetmezm(multiline): ^ ve $ her satır başı/sonu için geçerli olurs(dotAll): Nokta (.) yeni satır karakterini de eşleştirir
JavaScript'te Regex Kullanımı
// test() — eşleşme var mı?
const regex = /^[a-z]+$/i;
console.log(regex.test("Merhaba")); // true
// match() — eşleşmeleri bul
const metin = "Bugün 25 Mart 2026";
const sayilar = metin.match(/\d+/g);
console.log(sayilar); // ["25", "2026"]
// replace() — metni değiştir
const sonuc = metin.replace(/\d+/g, "X");
console.log(sonuc); // "Bugün X Mart X"
Regex İpuçları
- Basit başlayın: Karmaşık bir kalıp yazmaya çalışmadan önce basit parçalarla başlayın
- Test edin: Regex'inizi gerçek verilerle mutlaka test edin
- Açgözlü vs. Tembel:
.*açgözlü (en uzun eşleşme),.*?tembel (en kısa eşleşme) davranır - Grupları kullanın: Parantezlerle
( )gruplar oluşturarak eşleşmeleri yakalayabilirsiniz - Kaçış karakteri: Özel karakterleri literal olarak eşleştirmek için
\kullanın
🧪 Regex'inizi Hemen Test Edin
Regex Tester'ı Aç →