Guide
08 May 2026
12 dk okuma
Regular Expressions (Regex) Tam Rehberi: Sözdizimi, Kalıplar ve Gerçek Örnekler (2026)
Regex'i sıfırdan öğrenin. Karakter sınıfları, niceleyiciler, gruplar, lookahead'lar ve e-posta doğrulama, URL ayrıştırma, log analizi için gerçek kalıpları keşfedin.
Regular Expression (Regex) Nedir?
Regular expression (düzenli ifade), metin arama kalıbı tanımlayan bir karakter dizisidir. Metni eşleştirmek, çıkarmak, değiştirmek veya doğrulamak için kullanılır. Regex neredeyse her programlama dilinde — Python, JavaScript, PHP, Java, Go, Ruby — ve grep, sed, awk gibi komut satırı araçlarında desteklenir.
Temel yaklaşım: Regex kalıpları kod değil — metin yapısının tanımıdır. "Bu metni nasıl bulabilirim?" yerine "Bu metin nasıl görünür?" diye düşünmek regex yazmayı çok daha kolaylaştırır.
Temel Sözdizimi
Karakter Sınıfları [...]
[abc]— "a", "b" veya "c" eşleşir[a-z]— küçük harf eşleşir[^abc]— "a", "b", "c" dışındaki her karakter\d— rakam ([0-9])\w— harf, rakam veya alt çizgi\s— boşluk karakteri.— yeni satır hariç her karakter
Niceleyiciler
*— 0 veya daha fazla+— 1 veya daha fazla?— 0 veya 1 (opsiyonel){3}— tam olarak 3 kez{2,5}— 2 ile 5 arasında
Çapalar
^— dizinin başı$— dizinin sonu\b— kelime sınırı
Gruplar
(abc)— yakalayan grup(?:abc)— yakalamayan grup (daha verimli)cat|dog— alternatif: "cat" veya "dog"
Lookahead ve Lookbehind
(?=abc)— pozitif lookahead: "abc" ile devam eden konum(?!abc)— negatif lookahead: "abc" ile devameden konum DEĞİL(?<=abc)— pozitif lookbehind: "abc" ile başlayan konum(?<!abc)— negatif lookbehind
Örnek: Dolar işareti olmadan fiyatları çıkarmak:
Kalıp:
Giriş: "Fiyat $29.99 veya $9.00"
Eşleşme: "29.99", "9.00"
Kalıp:
(?<=\$)\d+(\.\d{2})?Giriş: "Fiyat $29.99 veya $9.00"
Eşleşme: "29.99", "9.00"
Pratik Regex Kalıpları
# E-posta adresi
^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$
# Güçlü şifre (büyük, küçük, rakam, özel karakter)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
# Tarih (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
# Hex renk kodu
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
# Hashtag çıkar
#[a-zA-Z]\w*
# HTML etiketlerini kaldır
<[^>]+>
Sık Yapılan Hatalar
- Metakarakterleri kaçırmamak: Nokta (
.) gerçek nokta değil, herhangi bir karakterdir. Gerçek nokta için\.kullanın. - Açgözlü eşleşme:
<.+>tek etiket yerine tüm HTML bloğunu yutabilir.<.+?>veya<[^>]+>kullanın. - Kelime sınırını unutmak:
catkalıbı "concatenate" içinde de eşleşir. Tam kelime için\bcat\bkullanın. - Büyük/küçük harf: Regex varsayılan olarak büyük/küçük harfe duyarlıdır. Duyarsız eşleştirme için
ibayrağı ekleyin.
Regex Kalıplarınızı Ücretsiz Test Edin
Gerçek zamanlı eşleşme vurgulama, grup yakalama görüntüleme ve yerleşik kalıp kütüphanesiyle regex yazın, test edin ve hata ayıklayın.