Her Geliştiricinin Bilmesi Gereken 20 Yaygın Regex Deseni
Her Geliştiricinin Bilmesi Gereken 20 Yaygın Regex Deseni
Regex gerçek sorunları çözer: girdi doğrulama, veri çıkarma ve dize dönüştürme. Bu kılavuz, en yaygın metin işleme görevlerini kapsayan 20 kullanıma hazır düzenli ifade sunar. Her desen, neyi eşleştirdiğine dair bir açıklama içerir.
1. E-posta Adresi
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Yerel kısım harflere, rakamlara, noktalara ve özel karakterlere izin verir. Alan adı harflere, rakamlara ve noktalara izin verir. TLD en az iki harf olmalıdır.
2. URL
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
İsteğe bağlı www, alan adı, TLD, yol ve sorgu dizesi ile HTTP/HTTPS URL'lerini eşleştirir.
3. ABD Telefon Numarası
^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$
(555) 123-4567, 555-123-4567, 555.123.4567 ve 5551234567 biçimlerini eşleştirir.
4. Uluslararası Telefon
^\+?(\d{1,3})\s?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$
Ülke kodlu uluslararası numaralar için esnek desen.
5. Güçlü Parola
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
En az 8 karakter, bir küçük harf, bir büyük harf, bir rakam, bir özel karakter gerektirir. Lookahead assertion kullanır.
6. Tarih (YYYY-AA-GG)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
ISO 8601 biçimi. Ay 01-12, gün 01-31. Aylık sınırları doğrulamaz (30 Şubat geçer).
7. Tarih (AA/GG/YYYY)
^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$
Eğik çizgili ABD biçimi.
8. Saat (SS:DD 24 Saat)
^([01]\d|2[0-3]):[0-5]\d$
Saat 00-23, dakika 00-59.
9. IPv4 Adresi
^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$
Dört oktet. Katı doğrulama (0-255) için \d{1,3} yerine (25[0-5]|2[0-4]\d|[01]?\d\d?) kullanın.
10. IPv6 Adresi
^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$
8 grup onaltılık rakam içeren tam IPv6. :: kısaltmasını işlemez.
11. MAC Adresi
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
İki nokta veya tire ile ayrılmış.
12. Onaltılık Renk Kodu
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
3 haneli (#fff) veya 6 haneli (#ffffff), büyük/küçük harf duyarsız.
13. Kredi Kartı Numarası
^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$
İsteğe bağlı ayırıcılarla 16 hane. Luhn sağlama toplamını doğrulamaz.
14. ABD Posta Kodu
^\d{5}(-\d{4})?$
12345 veya 12345-6789.
15. Kullanıcı Adı
^[a-zA-Z0-9_]{3,16}$
3-16 karakter, yalnızca harfler, rakamlar ve alt çizgi.
16. URL Slug
^[a-z0-9-]+$
Küçük harfler, rakamlar ve tireler. CMS sistemlerinde yaygındır.
17. HTML Etiketi
<\/?[\w\s]*>|<.+[\w\s]*>
Açılış ve kapanış etiketlerini eşleştirir. İç içe HTML için uygun değildir.
18. Dosya Uzantısı
\.([a-zA-Z]{2,})$
Nokta olmadan uzantıyı çıkarır.
19. Boşluk Normalleştirme
\s+
Birden fazla boşluk, sekme veya satır sonunu tek bir boşluğa daraltır.
20. Sayıları Çıkarma
-?\d+(\.\d+)?
Negatifler dahil tamsayılar ve ondalıklı sayılar.
Performans İpuçları
- Spesifik olun — yıkıcı geri izlemeye neden olabilecek
.*kullanmaktan kaçının. - Arama aralığını sınırlamak için
^ve$ile sabitleyin. - Uç durumları test edin: boş dizeler, uzun dizeler, özel karakterler.
Bu Desenleri Çevrimiçi Test Edin
Bu desenlerle deneme yapmak için regex test aracını kullanın. Herhangi bir ifadeyi yapıştırın, örnek metin girin ve eşleşmelerin gerçek zamanlı olarak vurgulandığını görün. Test aracı yakalama gruplarını gösterir ve kullanmadan önce desenlerde hata ayıklamanıza yardımcı olur.