Yükleniyor...

Düzenli İfadeler

Düzenli ifadeler (Regular Expressions), JavaScript’te metinleri işlemek, doğrulamak ve analiz etmek için kullanılan güçlü bir araçtır. Temel olarak, belirli bir metin desenini tanımlamanıza ve bu desenle eşleşen değerleri bulmanıza olanak sağlar. Düzenli ifadeler, kullanıcı girdilerini doğrulamak, form alanlarını kontrol etmek, içerik filtrelemek veya metinleri dönüştürmek için vazgeçilmezdir. Örneğin, bir kişisel web sitesinde iletişim formundaki e-posta alanını doğrulamak için, bir blogda istenmeyen yorumları filtrelemek için, e-ticaret sitesinde kredi kartı numaralarını kontrol etmek için veya haber sitesinde belirli anahtar kelimeleri vurgulamak için kullanılabilir.
Düzenli ifadeleri anlamak, bir evi inşa etmeye benzer: önce temelleri atarsınız, sonra odaları planlar ve yerleştirirsiniz; burada temel semboller ve metakarakterler, odaların iskeletini oluşturur. Kodunuzda küçük bir hata, yapıyı bozabilir; bu yüzden dikkatli olmak gerekir. Bu eğitimde, düzenli ifadelerin temel ve ileri düzey kavramlarını öğrenecek, pratik örneklerle syntax’ı pekiştirecek ve yaygın hatalardan kaçınmayı öğreneceksiniz. Ayrıca, metin üzerinde nasıl arama yapacağınızı, eşleşmeleri nasıl alacağınızı ve sonuçları nasıl işleyeceğinizi adım adım göreceksiniz. Düzenli ifadeler, bir mektup yazmak gibi, her karakterin ve sembolün amacının önemli olduğu bir sanattır ve doğru kullanıldığında JavaScript uygulamalarınızı büyük ölçüde güçlendirir.

Temel Örnek

javascript
JAVASCRIPT Code
// Validate if a string is a valid email
const emailPattern = /^\[\w\.-]+@\[a-zA-Z_-]+.\[a-zA-Z]{2,6}\$/;
// Test the email string
const testEmail = "[[email protected]](mailto:[email protected])";
console.log(emailPattern.test(testEmail)); // true

Yukarıdaki kod, bir e-posta adresinin geçerli olup olmadığını kontrol etmek için bir düzenli ifade kullanır. const emailPattern = /^[\w.-]+@[a-zA-Z_-]+\.[a-zA-Z]{2,6}$/; satırında ^ işareti metnin başını, $ işareti metnin sonunu ifade eder. Böylece, desen tüm metinle eşleşmelidir.
[\w.-]+ ifadesi, bir veya daha fazla karakter, rakam, alt çizgi veya nokta ile eşleşir ve e-posta kullanıcı adını temsil eder. @ sembolü literaldir ve metinde bulunmalıdır. [a-zA-Z_-]+ domain kısmındaki harf veya alt çizgi karakterlerini temsil eder. Son olarak \.[a-zA-Z]{2,6} noktayı takip eden 2 ila 6 harf uzunluğundaki uzantıyı temsil eder, örn: .com veya .org.
.test(testEmail) fonksiyonu, verilen metin regex ile eşleşirse true, aksi takdirde false döner. Bu yöntem, kişisel web sitelerinde iletişim formu doğrulamasında, bloglarda yorum filtrelemede veya e-ticaret sitelerinde kayıt işlemlerinde kullanışlıdır. Başlangıç seviyesindeki kullanıcılar genellikle "Sadece '@' karakteri kontrol etsek yeterli olur mu?" sorusunu sorar; ancak düzenli ifadeler, tüm kuralları tek bir yapıda kontrol ederek hatalı girişleri önler.

Pratik Örnek

javascript
JAVASCRIPT Code
// Extract hashtags from a blog post
const post = "Yeni ürünümüz yayında! #teknoloji #javascript #e-ticaret";
const hashtagPattern = /#\w+/g;
const hashtags = post.match(hashtagPattern);
console.log(hashtags); // \["#teknoloji", "#javascript", "#e-ticaret"]

Düzenli ifadelerle ilgili en iyi uygulamalar şunlardır: Modern syntax kullanın ve g, i, m gibi modifikatörleri açıkça belirtin. Karmaşık desenlerden kaçının; aşırı uzun ve gereksiz gruplar performansı düşürebilir. Regex’i kritik veriler için kullanırken her zaman ek doğrulamalar uygulayın. Ayrıca, ifadelerinizi yorumlarla açıklayın, çünkü karmaşık desenler anlaşılması zor olabilir.
Yaygın hatalar: ^ ve $ işaretlerinin yanlış kullanımı, özel karakterlerin kaçışsız kullanılması (. veya +), regex’e aşırı güvenmek ve yalnızca regex ile güvenlik sağlamaya çalışmak, gereksiz grup sayısı ile kodu karmaşıklaştırmak.
Debug ipuçları: Desenleri regex101 gibi araçlarda test edin. .exec() ile eşleşmeleri detaylı inceleyin. Uzun desenleri küçük parçalara ayırarak test edin. Pratik öneri: Önce basit desenler oluşturun, ardından kademeli olarak geliştirin; bu, bir odayı dekore etmek gibi adım adım ilerlemeyi sağlar.

📊 Hızlı Referans

Property/Method Description Example
.test() Bir metnin desenle eşleşip eşleşmediğini kontrol eder /abc/.test("123abc")
.match() Metindeki tüm eşleşmeleri döndürür "merhaba dünya".match(/a/g)
.replace() Eşleşen bölümleri başka bir değerle değiştirir "2025-08-29".replace(/-/g,"/")
.split() Deseni kullanarak metni böler "bir,iki,üç".split(/,/)
.exec() Eşleşmeler hakkında detaylı bilgi verir /(\d+)/.exec("ID:1234")

Özetle, düzenli ifadeler JavaScript’te metin işleme ve doğrulamada vazgeçilmez bir araçtır. E-posta doğrulama veya blog gönderilerindeki hashtag’leri çekme örnekleri, bunların kişisel web sitelerinde, bloglarda, e-ticaret platformlarında ve haber sitelerinde nasıl uygulanabileceğini göstermektedir. Düzenli ifadeler, HTML DOM manipülasyonu ve backend iletişimi ile doğrudan bağlantılıdır; form verilerini göndermeden önce doğrulamak veri kalitesini artırır. İleri düzeyde, lookahead, lookbehind ve non-capturing grupları öğrenmek faydalıdır. Düzenli ifadeler konusunda pratik yapmak, örnekleri analiz etmek ve kendi projelerinizde uygulamak, becerilerinizi pekiştirir. Tıpkı bir mektup yazarken her karakterin önemli olması gibi, regex’te her sembolün işlevi kritiktir.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu konudaki anlayışınızı pratik sorularla test edin.

3
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek