Yazılım ve Kod Orta 3 dk okuma

Regex Üretme Promptu: Test Edilebilir Desen

Regex'i tahminle değil test case'lerle üreten prompt: eşleşmesi ve eşleşmemesi gereken örnekler zorunlu.

Çalışır: ChatGPTClaudeGeminiDeepSeek Güncellendi: 24 Ekim 2026
Prompt 1108 karakter · 6 değişken
Sen düzenli ifadeler (regex) konusunda uzman bir geliştiricisin. Aşağıdaki ihtiyaç için regex yaz.

DİL / FLAVOR: [JAVASCRIPT / PYTHON / PHP / JAVA / .NET / PCRE / GO]
AMAÇ: [NE EŞLEŞTİRMEK İSTİYORSUN — tek cümle]

EŞLEŞMESİ GEREKEN ÖRNEKLER (pozitif)
1. [ÖRNEK 1]
2. [ÖRNEK 2]
3. [ÖRNEK 3]

EŞLEŞMEMESİ GEREKEN ÖRNEKLER (negatif)
1. [ÖRNEK 1]
2. [ÖRNEK 2]
3. [ÖRNEK 3]

ÇIKTI

1) REGEX
Tek satır, kopyalanabilir. Bölümlerine ayırarak açıkla: hangi parça neyi yapıyor.

2) TEST TABLOSU
| Girdi | Beklenen | Eşleşti mi | Not |
Tüm pozitif ve negatif örnekleri tek tek değerlendir. Eşleşmeyen pozitif varsa deseni düzelt.

3) DİL NOTU
Bu flavor'a özgü farklar (escape kuralları, named group sözdizimi, lookbehind desteği).

4) SINIRLAR
Bu regex'in yakalayamadığı veya yanlış yakalayabileceği durumlar. Regex'in yanlış araç olduğu bir senaryo varsa söyle.

5) ALTERNATİF
Regex yerine kod ile yapmak daha güvenli olur mu? Neden?

KURALLAR
- Greedy/non-greedy seçimini gerekçelendir.
- Unicode ve Türkçe karakterleri (ç, ğ, ı, İ, ö, ş, ü) hesaba kat.
- Deseni mümkün olduğunca okunabilir tut; gereksiz kısa yazma.

02 — Değişkenler

Köşeli parantezleri doldurun

Prompt içindeki renkli alanlar sizin bilginizle değişecek yerlerdir. Hepsini doldurmak zorunda değilsiniz; boş bırakılan alanı model kendi varsayımıyla tamamlar.

[DİL / FLAVOR] Hangi regex motoru ör. JavaScript
[NE EŞLEŞTİRMEK İSTİYORSUN] Hedef format ör. Türkiye telefon numarası
[ÖRNEK 1] Geçerli örnek ör. 0532 123 45 67
[JAVASCRIPT / PYTHON / PHP / JAVA / .NET / PCRE / GO] Prompt içinde doldurulacak alan
[ÖRNEK 2] Prompt içinde doldurulacak alan
[ÖRNEK 3] Prompt içinde doldurulacak alan

03 — Kullanım

Adım adım nasıl kullanılır?

  1. 01

    Negatif örnekleri mutlaka yazın; regex'in asıl testi yanlış şeyleri yakalamamasıdır.

  2. 02

    Test tablosunu bir regex test sitesinde (regex101 gibi) doğrulayın.

  3. 03

    Türkçe karakter içeren metinlerde 'i' harfinin büyük/küçük davranışını ayrıca test edin.

  4. 04

    Karmaşık desenlerde named group kullanın; bakımı çok kolaylaştırır.

04 — Varyasyonlar

Aynı prompt, farklı sonuç

Tek bir prompt her işi çözmez. Aşağıdaki varyasyonlar aynı görevi farklı ton, uzunluk veya formatta ister — duruma göre birini seçin.

Mevcut regex'i düzelt

Çalışmayan deseni onarır.

Aşağıdaki regex istenen şeyi yakalamıyor. Regex: `[REGEX]`. Dil: [DİL]. Eşleşmesi gereken: [ÖRNEK]. Yanlış eşleştiği durum: [ÖRNEK]. Çıktı: (1) sorunun nedeni, (2) düzeltilmiş regex, (3) iki desenin farkı satır satır, (4) test tablosu.

Log ayrıştırma

Log satırlarından veri çekmek için.

Şu formattaki log satırlarını ayrıştıracak bir regex yaz ve named group kullan: [LOG ÖRNEĞİ]. Dil: [DİL]. Çıkarılacak alanlar: tarih, seviye, kaynak, mesaj. Çıktı: regex, alan açıklamaları, 3 örnek satır üzerinde test tablosu, ve bu log formatı değişirse desenin nasıl kırılacağı notu.

Form doğrulama

Kullanıcı girdisi kontrolü.

[ALAN — örn. e-posta / TCKN / IBAN] doğrulaması için regex yaz. Dil: [DİL]. Çıktı: (1) gevşek doğrulama (format kontrolü), (2) sıkı doğrulama (mümkünse checksum dahil), (3) hangisini neden seçmeliyim, (4) bu alan için regex'in yetersiz olduğu durumlar ve ek doğrulama önerisi, (5) test tablosu.

05 — İpuçları

Sonucu bir üst seviyeye taşıyan notlar

  • Regex ile e-posta doğrulamak hiçbir zaman tam doğru değildir; format kontrolü yapın, gerçek doğrulamayı gönderim ile yapın.
  • Negatif test case'i olmayan regex üretimi, fazla eşleşen (over-matching) desenler üretir.
  • Karmaşık regex'i koda gömmeden önce yorum satırıyla bölümlerini açıklayın.

06 — Sık sorulanlar

Yazılım ve Kod hakkında sık sorulanlar

Regex öğrenmek için ne kadar zaman gerekir?

Temel kalıpları (karakter sınıfları, nicelik belirteçleri, gruplar, çapalar) anlamak birkaç saat sürer. Pratikte çoğu geliştirici regex'i ezberlemez, ihtiyaç anında üretir ve test eder — bu tamamen geçerli bir yaklaşımdır.

Neden regex'im bazen fazla eşleşiyor?

Genellikle greedy (açgözlü) nicelik belirteçleri yüzünden: `.*` mümkün olduğunca çok karakter yakalar. `.*?` (non-greedy) veya daha dar karakter sınıfları (`[^"]*`) kullanmak bu sorunu çözer.

Türkçe karakterlerde nelere dikkat etmeliyim?

Büyük/küçük harf duyarsız eşleşmede 'i' ve 'İ' sorun çıkarır (Türkçe'de 'İ' harfinin küçüğü 'i' değil 'ı'dır). Unicode bayrağı (u) ve açık karakter listeleri kullanmak güvenli yoldur. Ayrıca `\w` sınıfı çoğu motorda Türkçe karakterleri kapsamaz.

Devamı

Bunlar da işinize yarar

Bu sayfa CopyPromt editör ekibi tarafından hazırlandı, ilk yayın 24 Ekim 2026. Promptlar modelden bağımsız çalışacak şekilde yazılır; marka adları yalnızca tanımlama amacıyla anılır.