Regex Tester
Düzenli ifadeleri canlı test edin. Eşleşmeler anında işaretlenir, yakalama grupları listelenir. JavaScript regex motorunu kullanır.
Düzenli ifadeleri canlı test edin. Eşleşmeler anında işaretlenir, yakalama grupları listelenir. JavaScript regex motorunu kullanır.
JavaScript regex motoru ECMA-262 standardını uygular. Named capture groups (?<isim>...) ES2018'den itibaren desteklenir. Lookahead (?=), lookbehind (?<=), non-greedy *? ve atomic group desteği mevcuttur.
Regex (Regular Expression); metin icinde desen eslestirme icin kullanilan guclu bir mini dildir. Veri dogrulama, arama-degistirme, log analizi ve metin isleme gibi alanlarda yaygindır.
Temel karakter sinifi: `.` herhangi bir karakter, `\d` rakam (0-9), `\w` kelime karakteri (harf-rakam-alt cizgi), `\s` bosluk karakteri, `^` satir basi, `$` satir sonu, `*` sifir ya da daha fazla, `+` bir ya da daha fazla, `?` sifir ya da bir.
hesaplatr.net regex tester: Test metninizi ve regex deseninizi girerek eslesimleri renkli gosterin. Gruplar, bayraklar (g, i, m) desteklenmektedir.
Turkce telefon numarasi: `^(\+90|0)5\d{9}$` TR cep telefonunu dogrular. `^(\+90|0)[2-5]\d{9}$` sabit ve cep hatlari icin genisletilmis versiyon.
E-posta dogrulama: `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` genel e-posta formu. RFC 5321 tam uyum cok daha karmasik desenler gerektirir; basit form genellikle yeterlidir.
TC kimlik numarasi: `^[1-9][0-9]{10}$` on bir haneli ve ilk hanesi sifir olmayan formatı dogrular. Ancak matematiksel kontrol rakami dogrulamasi icin backend logik gerekir.
Yakalayan grup `()`: `(\d{4})-(\d{2})-(\d{2})` ile tarih eslestirilir; grup 1 yil, grup 2 ay, grup 3 gun yakalanir. Dil APIlarinda bu gruplara index ile erisir.
Geri referans `\1`: Tekrar eden kelimeyi bulmak icin `(\w+) \1` deseni calisir. Ornegin 'elma elma' satirdaki tekrari yakalar.
Isimli grup `(?P<name>...)` Python'da: `(?P<yil>\d{4})-(?P<ay>\d{2})-(?P<gun>\d{2})` ile gruplara isim verilerek erisilebilir. Bu okunurlugu arttirir.
Pozitif lookahead `(?=...)`: `\d+(?= TL)` rakamlardan sonra TL geliyorsa eslesir; TL'yi yakalamaz. Sozluk oncesi/sonrasi durumlara gore filtreleme saglar.
Negatif lookahead `(?!...)`: `\d+(?! EUR)` EUR ile bitmeyenleri yakalar. Veritabanindaki belirli para birimi disindaki degerleri filtrelemek icin kullanilabilir.
Lookbehind `(?<=...)`: `(?<=toplam: )\d+` 'toplam: ' sonrasindaki rakami yakalar. Log parse islemlerinde cok kullanislidir.
Catastrophic backtracking: Belirli regex kombinasyonlari (ornegin `(a+)+$`) cok fazla geri izleme yaparak sistemi kilitleyen 'evil regex' olusturur. Kullanici girdisinden regex olusturmak ciddi guvenlik riski tasir (ReDoS acigi).
ReDoS onlemi: Kullanici girdisini regex olarak kullanmaktan kacinin. Zorunlu ise timeout mekanizmasi ekleyin. Validator kutuphaneleri veritabani saglamlik kurallari (whitelist) ile kombinleyin.
Derleme ve cache: Ayni regex desenini surekli tekrar derlemeniz performans kaybina yol acar. Python'da `re.compile()`, Java'da `Pattern.compile()` ile onceden derleyip cache'leyin.