Temel Regex Söz Dizimi ve Meta Karakter Referansı

Normal ifadeler (regex), arama motorları, derleyiciler ve web uygulamaları tarafından dize verilerini doğrulamak, çıkarmak ve değiştirmek için kullanılan resmi kalıp açıklamalarıdır.
| Meta karakter | Anlamı | Pratik Örnek | Eşleşmeler |
|---|---|---|---|
^ | Başla dize / satır | ^https | Şununla başlayan dizeler: "https" |
$ | Dizenin sonu / line | \.png$ | Şununla biten dizeler: ".png" |
. | Herhangi bir tek karakter (hariç) yenisatır) | c.t | "kedi", "karyola", "c9t" |
\d | Herhangi bir rakam (eşdeğer) [0-9]) | \d{4} | "2026" |
\w | Kelime karakter (alfasayısal + _) | \w+ | "kullanıcı _123" |
\s | Herhangi biri boşluk (boşluk, sekme, yeni satır) | \s+ | " " |
+ | Bir veya daha fazla oluşumlar | a+ | "a", "aaa" |
* | Sıfır veya daha fazla oluşumlar | a* | "", "a", "aaa" |
? | Sıfır veya bir oluşum (isteğe bağlı) | https? | "http", "https" |
{n,m} | n ve m arasında tekrarlar | \d{2,4} | "99", "1999" |
Web Uygulamaları için Kopyala-Yapıştır ile Test Edilmiş Regex Kalıpları
1. E-posta Adresi Doğrulaması (RFC 5322 Basitleştirilmiş)

Geçerli alan adı uzantılarına sahip standart modern e-postaları doğrular:
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$
2. Güçlü Şifre Doğrulaması
8'den fazla karakter, en az 1 büyük harf, 1 küçük harf, 1 sayı ve 1 özel sembol gerektirir:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
3. Onaltılı Renk Kodları
3 basamaklı, 6 basamaklı ve 8 basamaklı (alfa kanalıyla) onaltılık kodlarla eşleşir:
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
4. Uluslararası Telefon Numaraları (E.164 Formatı)

Artı işaretiyle başlayan standart uluslararası telefon numaralarıyla eşleşir:
^\+[1-9]\d{1,14}$
ReDoS Güvenliği: Korkunç Geriye Dönük İzlemeyi Önleme

Normal İfade Hizmet Reddi (ReDoS) kritik bir güvenlik açığıdır. Bir normal ifade, aşağıdaki gibi iç içe geçmiş belirsiz niceleyiciler kullandığında:
(a+)+$
"aaaaaaaaaaaaaaaaaaaaaaaaaaaa!" gibi eşleşmeyen bir girişi değerlendirmek, NFA normal ifade motorunun milyonlarca permütasyonu test etmesine neden olur. Üretim Node.js veya Python arka ucunda bu, olay döngüsünü engeller ve CPU'yu %100'de kilitler.
ReDoS'u önlemeye yönelik kurallar:
- Hiçbir zaman açgözlü nicelik belirteçlerini diğer nicelik belirteçlerinin içine yerleştirmeyin.
- Çalışma zamanınız tarafından destekleniyorsa, sahiplik nicelik belirteçleri veya atomik gruplar kullanın.
- Regex Test Aracı (Regex Tester).

Önerilen Yardımcı Kılavuzlar
Dijital iş akışınızı geliştirmek için bu konu kümesindeki tamamlayıcı eğitimleri ve yardımcı programları keşfedin: