Regex tester
Regular expressions pattern-match text for validation, search-replace, and log parsing. Test patterns with live highlighting before dropping into production code — avoid catastrophic backtracking surprises on user input.
Desen
Bayraklar
Test metni
Çıktı
[0] Hello
[6] world
[12] 123
How to test a regex
1. Enter regex pattern (without outer slashes or with flags).
2. Set flags: g global, i case insensitive, m multiline.
3. Paste sample text in test string area.
4. Review matches, capture groups, and replace preview if available.
Normal ifade örnekleri
E-posta benzeri doğrulama
^[\w.-]+@[\w.-]+\.\w+$ basit e-postaları yakalar — RFC açısından mükemmel değildir ancak formlar için kullanışlıdır.
ISO tarihlerini çıkarın
\d{4}-\d{2}-\d{2}, grep değişimi için günlük satırlarında 2024-03-15'i bulur.
Slugify yardımcısı
Başlık dizesindeki URL bilgisi için [^a-z0-9]+ ifadesini kısa çizgi ile değiştirin.
Regex yardımcı olduğunda
• Yapılandırılmış dizeleri (telefon, posta kodu) doğrularken.
• Yarı yapılandırılmış günlükleri ayrıştırırken.
• Yakalama gruplarını ve ileriye bakmayı öğrenirken.
Regex'ten ne zaman kaçınılmalıdır?
• HTML veya JSON ayrıştırılırken — uygun ayrıştırıcılar kullanın.
• Regex okunamaz hale geldiğinde kod mantığına bölünür.
• Sunucuda kullanıcı tarafından sağlanan kalıplarda ReDoS riski oluştuğunda zaman aşımı ve uzunluk sınırı.
ReDoS farkındalığı
Kötü dizedeki (a+)+ gibi iç içe geçmiş niceleyiciler CPU'yu kilitler; sunucuda kullanıcı regex'inden kaçının veya zaman aşımına uğramış güvenli motorlar kullanın.
Doğrula ve çıkar
Bağlantılı desen ^...$ tüm dizeyi doğrular; unanchored her yerde alt dizeyi bulur.
Editörlerde değiştir
VS Code, bul-değiştir işleminde benzer JS regex'ini kullanır — burada test edin ve ardından deseni yapıştırın.
Sık sorulan sorular
Hangi regex tadı?
JavaScript RegExp — PCRE farklılıkları mevcuttur (geriye bakma desteği motor sürümüne göre değişir).
Küresel bayrak g?
Yalnızca ilk eşleşmeyi değil tüm eşleşmeleri bulur — JS'de lastIndex ile testStateful.
Özel karakterlerden kaçmak mı istiyorsunuz?
. * + ? [ ] ( ) { } | \ ^ $ Gerçek eşleşme için kaçmamız gerekiyor.
Gruplar yakalansın mı?
Parantezler ( ), $1 $2. yerine erişilebilen numaralı gruplar oluşturur
Yerel?
Evet.
Çok satırlı ^ $?
m flag, ^ $'ın dizenin tamamıyla değil, satır sınırlarıyla eşleşmesini sağlar.