MagmaNex LogoMagmaNex
Ana Sayfa/Blog/Regular Expressions (Regex) Tam Rehberi
Regular Expressions (Regex) Tam Rehberi
Rehber22 Mayıs 2026· 12 dk okuma

Regular Expressions (Regex) Tam Rehberi

Regular expressions (düzenli ifadeler) nedir, nasıl yazılır? Pratik örnekler ve en sık kullanılan pattern'ler ile kapsamlı regex rehberi.

#regex#pattern matching#metin işleme

Regular Expressions (Regex) Tam Rehberi

Regular expressions (düzenli ifadeler / regex), metin arama, doğrulama ve dönüştürme işlemleri için kullanılan güçlü bir pattern dilidir. İlk başta korkutucu görünse de temel kalıpları öğrendikten sonra çok pratik bir araç haline gelir.

Temel Sözdizimi

Literal Karakterler

/merhaba/   →  "merhaba" kelimesini bulur
/MagmaNex/  →  "MagmaNex" stringini bulur (büyük-küçük harf duyarlı)

Özel Karakterler

Karakter Anlamı Örnek
. Herhangi bir karakter (newline hariç) a.c → "abc", "a1c"
* 0 veya daha fazla ab*c → "ac", "abc", "abbc"
+ 1 veya daha fazla ab+c → "abc", "abbc" (ama "ac" değil)
? 0 veya 1 (isteğe bağlı) colou?r → "color", "colour"
^ Satır başı ^Merhaba
$ Satır sonu merhaba$
\b Kelime sınırı \bcat\b → "cat" ama "catch" değil

Karakter Sınıfları

[abc]     → a, b veya c
[a-z]     → küçük harf a'dan z'ye
[A-Z]     → büyük harf A'dan Z'ye
[0-9]     → 0'dan 9'a (veya \d)
[^abc]    → a, b, c DIŞINDA herhangi bir karakter
[a-zA-Z0-9_]  → harf, rakam veya alt çizgi (veya \w)

Kısaltmalar

Kısaltma Anlamı
\d Rakam [0-9]
\D Rakam olmayan [^0-9]
\w Kelime karakteri [a-zA-Z0-9_]
\W Kelime karakteri olmayan
\s Boşluk (space, tab, newline)
\S Boşluk olmayan

Nicelik Belirteçleri (Quantifiers)

{3}      → Tam olarak 3 kez
{3,}     → En az 3 kez
{3,6}    → 3 ile 6 kez arası
{3}?     → Lazy (minimum eşleşme)

Gruplama ve Yakalama

(abc)+         → "abc", "abcabc", "abcabcabc"
(?:abc)+       → Non-capturing group (yakalamadan grupla)
(?<name>abc)   → Named capture group

En Sık Kullanılan Regex Pattern'leri

E-posta Doğrulama

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

💡 Tek tek e-posta adreslerini hızlıca kontrol etmek için E-posta Doğrulayıcı aracını kullanabilirsiniz.

Türkçe Telefon Numarası

^(\+90|0)?[5][0-9]{9}$

URL Doğrulama

^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$

IPv4 Adresi

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

Güçlü Şifre

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

(En az 8 karakter, büyük/küçük harf, rakam ve özel karakter)

Bu kurallara uyan güçlü parolaları otomatik üretmek için Parola Üretici, mevcut bir parolanın gücünü ölçmek için ise Parola Güç Ölçer aracımızı kullanabilirsiniz.

Türkçe TC Kimlik No

^[1-9][0-9]{10}$

Kredi Kartı Numarası

^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$

Regex yalnızca formatı kontrol eder; bir kart numarasının Luhn algoritmasına göre geçerli olup olmadığını sınamak için Kredi Kartı Doğrulayıcı aracını kullanın.

JavaScript'te Regex Kullanımı

// test() — boolean döner
/^\d+$/.test("12345")   // true
/^\d+$/.test("123a5")   // false

// match() — eşleşmeleri döner
"Merhaba Dünya".match(/[A-Z]/g)  // ["M", "D"]

// replace() — değiştirir
"hello world".replace(/\bworld\b/, "MagmaNex")  // "hello MagmaNex"

// Tüm global replace
"aabbcc".replaceAll(/a/g, "x")  // "xxbbcc"

// split()
"bir,iki,,üç".split(/,+/)  // ["bir", "iki", "üç"]

// Named groups
const m = "2026-05-22".match(/(?<yil>\d{4})-(?<ay>\d{2})-(?<gun>\d{2})/)
console.log(m.groups.yil)  // "2026"

Lookahead ve Lookbehind

(?=...)   Positive lookahead   — sağında ... var
(?!...)   Negative lookahead   — sağında ... yok
(?<=...)  Positive lookbehind  — solunda ... var
(?<!...)  Negative lookbehind  — solunda ... yok

Örnek:

// Fiyat numaralarını bul (₺ işaretinden önce)
"100₺ ve 200₺".match(/\d+(?=₺)/g)  // ["100", "200"]

// ₺ olmayan sayıları bul
"100₺ ve 200kg".match(/\d+(?!₺)/g)  // ["200"]

Flags (Bayraklar)

Flag Anlamı
g Global — tüm eşleşmeler
i Case-insensitive
m Multiline — ^ ve $ her satır için
s Dotall — . newline dahil eşleşir
u Unicode desteği

Regex Test Et

MagmaNex'in Regex Tester aracını kullanarak pattern'lerinizi gerçek zamanlı test edebilirsiniz. Eşleşmeler anında vurgulanır ve gruplar ayrı ayrı gösterilir.

İpuçları

  1. Önce basit başla: Karmaşık regex yerine adım adım oluştur
  2. Test et: Her pattern'i gerçek verilerle test et
  3. Yorum ekle: Karmaşık regex'leri belgele
  4. Performans: .* yerine mümkünse daha spesifik pattern kullan
  5. Hata ayıklama: regex101.com veya MagmaNex Regex Tester kullan

Regex öğrenmek zaman alır ama bir kez öğrenince programlama yaşamınızı tamamen değiştirir!


🛠 İlgili Araçlar

📚 İlgili Yazılar

← Tüm Yazılar🛠 Araçları Keşfet