Regex Cheat Sheet: Sık Kullanılan Kalıplar
Regex yazarken her seferinde aynı sembolleri mi arıyorsunuz? Bu sayfa, karakter sınıflarından nicelik belirteçlerine, gruplardan ileri/geri bakışa (lookaround) ve bayraklara kadar sık kullanılan tüm regex sembollerinin tek sayfalık, örnekli bir referansıdır — yer imlerinize ekleyip her regex yazarken açabilirsiniz.
Regex cheat sheet — özet
\d \w \s .), nicelik belirteçleri (* + ? {n,m}), gruplar/bakış ((...) (?:...) (?=...) (?<=...)) ve bayraklar (g i m s u). Bu 4 grubu bilmek, günlük regex ihtiyaçlarının büyük çoğunluğunu karşılar.
Karakter sınıfları
Karakter sınıfları, tek bir konumda hangi karakterlerin kabul edileceğini tanımlar:
| Sembol | Anlamı | Örnek |
|---|---|---|
| . | Yeni satır hariç herhangi bir karakter (s bayrağıyla yeni satır dahil) | a.c → "abc", "axc" |
| \d / \D | Rakam / rakam olmayan karakter | \d{4} → "2026" |
| \w / \W | Kelime karakteri (harf/rakam/_) / olmayan | \w+ → "merhaba_1" |
| \s / \S | Boşluk karakteri / boşluk olmayan | \s+ → " " |
| [abc] | a, b veya c'den biri | [aeiou] → sesli harf |
| [^abc] | a, b, c HARİÇ herhangi bir karakter | [^0-9] → rakam olmayan |
| [a-z0-9] | Aralık: a-z KÜÇÜK harf VEYA 0-9 rakam | [a-zA-Z0-9_] |
| \b / \B | Kelime sınırı / kelime sınırı olmayan konum | \bkedi\b → tam kelime |
Nicelik belirteçleri (quantifier)
* + ? {n,m} varsayılan olarak greedy (açgözlü, en uzun eşleşmeyi dener); sonuna ? eklenirse (*? +? {n,m}?) lazy (tembel, en kısa eşleşmeyi dener) olur.
| Sembol | Anlamı | Örnek |
|---|---|---|
| * | 0 veya daha fazla tekrar (greedy) | ab* → "a", "abbb" |
| + | 1 veya daha fazla tekrar (greedy) | ab+ → "ab", "abbb" |
| ? | 0 veya 1 tekrar (opsiyonel) | colou?r → "color","colour" |
| {n} | Tam olarak n tekrar | \d{4} → "2026" |
| {n,} | En az n tekrar | \d{3,} → 3+ rakam |
| {n,m} | n ile m arası tekrar | a{2,4} → "aa".."aaaa" |
| *? +? ?? {n,m}? | Lazy (tembel) sürüm — EN AZ tekrarı dener | <.+?> → ilk etiketi yakalar |
<.+> deseni <b>kalın</b> metninde greedy olduğu için tüm metni (<b>kalın</b>) tek eşleşme olarak yakalar — çünkü "en uzun" mümkün sonucu arar. Aynı deseni <.+?> yaparsanız (sonuna ? eklenmiş, lazy), yalnızca <b> ile eşleşir ve devam eder. HTML/XML etiketi ayrıştırırken bu fark kritik önemdedir.
Bu sembolleri canlı deneyin
Cheat sheet'teki her deseni Regex Test Aracı'na yapıştırıp kendi test metninizle greedy/lazy farkını, grupları ve bayrakları anında görebilirsiniz.
Regex Test Aracını Aç →Gruplar & bakış (lookaround)
(...) yakalama grubu oluşturur, (?:...) yakalamadan gruplar, (?<ad>...) gruba isim verir. (?=...) / (?!...) ileri bakış, (?<=...) / (?<!...) geri bakıştır — hiçbiri eşleşen metne dahil edilmez (karakter tüketmez).
| Sembol | Anlamı | Örnek |
|---|---|---|
| (abc) | Yakalama grubu | (\d{2})-(\d{2}) |
| (?:abc) | Yakalamayan grup | (?:abc)+ |
| (?<ad>abc) | İsimli yakalama grubu | (?<yil>\d{4}) |
| (?=abc) | İleri bakış (positive lookahead) | \d+(?=₺) |
| (?!abc) | Olumsuz ileri bakış (negative lookahead) | \d+(?!₺) |
| (?<=abc) | Geri bakış (positive lookbehind) | (?<=₺)\d+ |
| (?<!abc) | Olumsuz geri bakış (negative lookbehind) | (?<!₺)\d+ |
| \1 \2 | Backreference — önceki yakalanan gruba tekrar başvuru | (\w)\1 → çift harf |
| a|b | a VEYA b (alternation) | kedi|köpek |
Lookaround'un en pratik kullanımı, aramak istediğiniz şeyin çevresindeki bağlamı eşleşmeye dahil etmeden kontrol etmektir. Örneğin \d+(?=₺), yalnızca sonunda "₺" işareti olan bir sayı dizisini bulur ama "₺" işaretinin kendisini eşleşmeye dahil etmez — bu sayede sayıyı ayrıca temizlemenize gerek kalmaz.
Bayraklar (flags)
g tüm eşleşmeleri bulur (yoksa yalnızca ilki), i büyük/küçük harf duyarlılığını kapatır, m ^/$'ı her satır için çalıştırır, s (dotall) .'nin yeni satırı da eşlemesini sağlar, u deseni Unicode kod noktalarına göre yorumlar.
| Bayrak | Adı | Etkisi |
|---|---|---|
| g | Global | Yalnızca ilk değil, TÜM eşleşmeleri bulur |
| i | Case-insensitive | Büyük/küçük harf farkını yok sayar |
| m | Multiline | ^ ve $ her satır başı/sonu için de çalışır |
| s | Dotall | . karakteri yeni satırı da eşler |
| u | Unicode | Deseni Unicode kod noktalarına göre yorumlar |
Bayraklar desenin arkasına eklenmez; JavaScript'te /desen/gi gibi ayraç dışına, bu araçtaki gibi test araçlarında ise ayrı onay kutularına işaretlenir.
Sık kullanılan tam kalıp örnekleri
| Amaç | Regex |
|---|---|
| Tarih (YYYY-MM-DD) | ^\d{4}-\d{2}-\d{2}$ |
| Saat (HH:MM) | ^([01]\d|2[0-3]):[0-5]\d$ |
| URL (http/https) | ^https?:\/\/[\w.-]+\.[a-z]{2,}(\/\S*)?$ |
| Sadece rakam | ^\d+$ |
| Boşlukları normalize et (replace) | \s+ → " " |
Sık sorulan sorular
Regex'te en sık kullanılan semboller nelerdir?
\d (rakam), \w (kelime karakteri), \s (boşluk), . (herhangi bir karakter), ^/$ (çapa), * + ? {n,m} (nicelik) ve (...) (yakalama grubu) en sık kullanılan sembollerdir.Greedy ve lazy niceleyici arasındaki fark nedir?
*, +) mümkün olan EN UZUN eşleşmeyi, lazy (*?, +?) mümkün olan EN KISA eşleşmeyi dener. HTML etiketi gibi iç içe yapılarda bu fark sonucu tamamen değiştirir.Lookahead ve lookbehind nedir?
(?=...) bir konumun sonrasını, lookbehind (?<=...) öncesini kontrol eder; ikisi de eşleşmeye dahil edilmez (karakter tüketmez). Olumsuzları (?!...) ve (?<!...) ile yazılır.Karakter sınıfı [^...] ne anlama gelir?
^, "olumsuzlama" anlamına gelir: [^abc] "a, b, c HARİÇ herhangi bir karakter" demektir. Desenin başındaki ^ çapasından farklıdır.Regex bayrakları ne işe yarar?
g tüm eşleşmeleri bulur, i harf duyarlılığını kapatır, m çoklu satırda çapaları etkinleştirir, s noktayı yeni satırı da eşler yapar, u Unicode yorumlaması sağlar.İlgili rehberler
re ve Java regex motorları çoğu sembolü paylaşır. Kaynaklar: MDN Web Docs RegExp referansı · ECMA-262 dil şartnamesi. Son güncelleme: 17 Temmuz 2026. Yazı bilgilendirme amaçlıdır; ileri özelliklerde (atomic group, possessive quantifier) dil motorları arasında küçük farklar olabilir.