Düzenleyici
Giriş veya regex yürütmesi bekleniyor…
Eylemler
Bu Regex Test Cihazını Neden Kullanmalısınız
- Yazarken yeniden çalıştırmak için isteğe bağlı "canlı" mod ile gerçek zamanlı eşleştirme
- Başlangıç indeksi, bitiş indeksi, değer ve adlandırılmış yakalama grupları ile yapılandırılmış eşleşme listesi
- Tam JavaScript/ECMAScript RegExp sözdizimi desteği (JS çalışma zamanınızla aynı motor)
- Bayrak kontrolleri: g, i, m, s, u, y – güvenle birleştirin ve deneyin
- Her çalıştırmada milisaniye cinsinden yürütme süresi ile temel performans içgörüsü
- Biletlere, belgelere veya commit mesajlarına hızlı kopyala/yapıştır için yalnızca metin özet çıktısı
- Öğrenme için mükemmel: tam bir proje veya test paketi çalıştırmadan desenleri prototiple
- Günlük görevler için ideal: log ayrıştırma, doğrulama, URL / ID çıkarma, hızlı veri temizleme
- Büyük metinler eşleştirildiğinde UI donmasını önlemek için sonuç listesi yumuşak sınırlandırılmıştır
🔧 Regex Test Cihazı Nasıl Kullanılır for regex-tester
1. Test Metninizi Yapıştırın veya Yazın
Aramak istediğiniz metni ekleyin: loglar, parçalar, CSV parçaları, HTML, JSON, düz metin olan her şey.
2. Regex Deseninizi Yazın
Düzenli ifadeyi **çevreleyen eğik çizgiler olmadan** girin. Örneğin: temel e-posta benzeri desen için <code>\b\w+@\w+\.\w+</code> veya adlandırılmış gruplarla <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code>.
3. Bayrakları Ayarlayın (g, i, m, s, u, y)
<code>g</code> (global), <code>i</code> (büyük/küçük harf duyarsız) veya <code>m</code> (çok satırlı) gibi bayrakları değiştirin. Test cihazı, JavaScript'in yaptığı gibi tam olarak <code>new RegExp(pattern, flags)</code> oluşturur.
4. Eşleşmeleri & Grupları İnceleyin
Her eşleşmeyi indeksi, isteğe bağlı bitiş indeksi ve yakalama grupları ile gözden geçirin. Adlandırılmış gruplar, JSON benzeri bir harita olarak görünür, böylece onları test sabitlerine, ayrıştırıcılara veya belgelere kopyalayabilirsiniz.
5. Özeti Kopyalayın
Metin özetini hızlı bir rapor olarak kullanın: indeksler ve gruplarla eşleşmeleri listeler, biletlere, kod inceleme yorumlarına veya kopya kağıtlarına yapıştırmaya hazır.
Regex Sözdizimi & Motor Detayları
Karakter Sınıfları & Temeller
JavaScript RegExp motoru tarafından desteklenen temel yapı taşları.
| Desen | Anlam | Örnek |
|---|---|---|
| . | Satır sonları hariç herhangi bir karakter (<code>s</code> bayrağı yoksa) | <code>a.c</code> → <code>abc</code> ile eşleşir |
| \d, \w, \s | Rakamlar, kelime karakterleri, boşluklar | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Yukarıdakilerin olumsuz halleri | <code>\S+</code> → boşluk olmayan diziler |
| [abc] | Karakter kümesi | <code>[aeiou]</code> → tek bir sesli harf |
| [^abc] | Olumsuz küme | <code>[^0-9]</code> → rakam olmayan |
| ^, $ | Girdi başlangıcı ve sonu (veya <code>m</code> ile satır) | <code>^Hello</code>, <code>!$</code> |
Nicelik Belirleyiciler
Önceki token'ların tekrarı, açgözlü ve tembel davranışlarla.
| Desen | Anlam | Örnek |
|---|---|---|
| ? | 0 veya 1 kez | <code>colou?r</code> → <code>color</code> ve <code>colour</code> ile eşleşir |
| * | 0 veya daha fazla | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 veya daha fazla | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Tam olarak n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | En az n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | n ile m arasında | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Gruplar, Lookaround'lar & İsimli Yakalamalar
Modern JavaScript motorları tarafından sağlanan daha gelişmiş özellikler.
| Özellik | Sözdizimi | Örnek |
|---|---|---|
| Yakalayan gruplar | (...) | <code>(\d{3})-(\d{2})</code> → alan kodu + son ek |
| Yakalamayan gruplar | (?:...) | <code>(?:https?|ftp)://</code> |
| Geri referanslar | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| İleri bakışlar | (?=...), (?!...) | <code>\w+(?=! )</code> → <code>! </code>'den önceki kelime |
| Geri bakışlar* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → <code>#</code>'dan sonraki metin (*modern motorlarda) |
| İsimli gruplar | (?<isim>...) | <code>(?<yıl>\d{4})</code> → sonuçlarda <code>groups.yıl</code> |
Bayraklar (Seçenekler)
Test aracının bayrakları doğrudan JavaScript RegExp bayraklarına karşılık gelir.
| Bayrak | İsim | Etki |
|---|---|---|
| g | Global | Sadece ilk eşleşme yerine tüm eşleşmeleri bul |
| i | Büyük/küçük harf yok say | Büyük/küçük harfe duyarsız eşleştirme |
| m | Çok satırlı | <code>^</code> ve <code>$</code> satır sınırlarında eşleşir |
| s | DotAll | <code>.</code> satır sonlarını da eşleştirir |
| u | Unicode | Modern motorlarda Unicode modunu ve özellik kaçışlarını etkinleştirir |
| y | Yapışkan | Yalnızca mevcut dizinde eşleş (yalnızca <code>lastIndex</code> ile kullanılır) |
Performans & Güvenlik
Temel JavaScript motoru regex'i eşzamanlı olarak yürütür. Kullanıcı arayüzünün yanıt vermesini sağlamak için test aracı, toplanan eşleşme sayısını sınırlandırır (örneğin, global modda ilk 500 eşleşme). Bu, kullanıcı arayüzünün aşırı yüklenmesini önlemeye yardımcı olur, ancak karmaşık veya kritik desenler için tam performans denetimlerinin yerini almaz.
Komut Satırı Regex Araçları
Deseniniz burada çalıştıktan sonra, aynı veya benzer regex'i terminalinizde, betiklerinizde veya CI işlerinizde yeniden kullanabilirsiniz:
Linux / macOS
grep ile arama (genişletilmiş regex)
grep -E 'pattern' file.txtBelirli bir desenle eşleşen satırları bul
sed ile arama ve değiştirme
sed -E 's/pattern/replacement/g' input.txt > output.txtMetin dosyalarında toplu değiştirmeler
Windows / PowerShell
PowerShell regex araması
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtGünlük dosyalarında ABD tarzı SSN desenlerini bul (örnek)
PowerShell regex değiştirme
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtBasit regex tabanlı değiştirmeler
Pratik Regex Uygulamaları
Web & Önyüz Geliştirme
- Formlarda e-postaları, kullanıcı adlarını, slug'ları veya özel kimlikleri doğrula
- URL'lerden veya yollardan rota parametrelerini çıkar
- İstemci tarafı doğrulama için hızlıca desen prototipleri oluştur
// Temel e-posta benzeri doğrulama
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Rota parametreleri: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Günlükler, Veri & Arka Uç
- Günlük satırlarından zaman damgalarını ve seviyelerini ayrıştır
- Boşlukları normalleştir ve dağınık metni temizle
- Yapılandırılmamış içerikten kimlikleri, e-postaları veya referansları çıkar
// Tekrarlanan boşlukları daralt
const normalized = text.replace(/\s+/g, ' ').trim();// Basit günlük satırı eşleştirici
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Veri Temizleme & Hızlı Betikler
- Ayrıştırmadan önce istenmeyen HTML etiketlerini veya niteliklerini kaldır
- Uzun bir metin yığınından tüm URL'leri, e-postaları veya kimlikleri çek
- Veri seti alanlarını başka bir sisteme aktarım için hazırlayın
❓ Frequently Asked Questions
❓Regex'im neden hiçbir şeyle eşleşmiyor?
., ?, +), 2) Birden fazla eşleşme beklerken g bayrağını unutmak, 3) Başlangıç/son işaretleri (^, $) veya kelime sınırlarının (\b) eksik olması, 4) JavaScript motorunuzun henüz desteklemediği özellikleri kullanmak (bazı geriye bakışlar gibi). Deseni basitleştirip parçaları kademeli olarak eklemeyi deneyin.⏱️Çalışma süresi (ms) ne anlama geliyor?
performance.now() kullanılarak zamanlanır. Bu değer, regex'in mevcut girdi üzerinde çalışmasının ne kadar sürdüğünün kabaca tek seferlik ölçümüdür. Açıkça maliyetli desenleri tespit etmek için kullanışlıdır, ancak tam bir kıyaslama veya üretim performansı garantisi değildir.🔍İlk eşleşme ve genel mod arasındaki fark nedir?
g bayrağı olmadan JavaScript yalnızca **ilk** eşleşmeyi (varsa) döndürür. g ile test cihazı, **tüm** eşleşmeleri (güvenli bir maksimuma kadar sınırlı), indeksleri ve yakalama gruplarını toplamak için input.matchAll() kullanır. Birden fazla oluşumla ilgilendiğinizde genel modu kullanın.🌍Bu, Unicode ve <code>\p{...}</code> kaçışlarını destekliyor mu?
u bayrağını etkinleştirin; bu, modern tarayıcılarda ve güncel Node.js sürümlerinde \p{Letter} veya \p{Script=Greek} gibi özellikleri açar.⚠️Bu, felaket geri izlemeyi tespit edebilir mi?
Pro Tips
Regex'inizi küçük parçalar halinde oluşturun. Eşleşen basit bir şeyle başlayın, ardından başlangıç/son işaretlerini, grupları ve niceleyicileri adım adım ekleyin.
Mümkün olduğunda adlandırılmış yakalama gruplarını (<code>(?<isim>...)</code>) kullanın. Eşleşmelerinizi kendi kendini belgeleyen hale getirir ve kod incelemelerinde okunmasını çok daha kolaylaştırır.
<code>.*</code> ve iç içe niceleyicilerle dikkatli olun. Büyük girdilerde ağır geri izlemeye neden olabilirler. Desenleri daha özgül hale getirin veya <code>{n,m}</code> ile tekrarı sınırlandırın.
Hata ayıklarken, geçici olarak <code>g</code> bayrağını kaldırın ve zihinsel modeli basitleştirmek için ilk eşleşmeye odaklanın.
Additional Resources
Other Tools
- CSS Güzelleştirici
- HTML Güzelleştirici
- JavaScript Güzelleştirici
- PHP Güzelleştirici
- Renk Seçici
- Sprite Çıkarıcı
- Base64 Çözücü
- Base64 Kodlayıcı
- C# Biçimlendirici
- CSV Biçimlendirici
- Dockerfile Formatter
- Elm Biçimlendirici
- ENV Biçimlendirici
- Go Biçimlendirici
- GraphQL Biçimlendirici
- HCL Biçimlendirici
- INI Biçimlendirici
- JSON Biçimlendirici
- Latex Biçimlendirici
- Markdown Biçimlendirici
- ObjectiveC Biçimlendirici
- Php Formatter
- Proto Biçimlendirici
- Python Biçimlendirici
- Ruby Biçimlendirici
- Rust Biçimlendirici
- Scala Biçimlendirici
- Shell Script Biçimlendirici
- SQL Biçimlendirici
- SVG Biçimlendirici
- Swift Biçimlendirici
- TOML Biçimlendirici
- Typescript Formatter
- XML Biçimlendirici
- YAML Biçimlendirici
- Yarn Biçimlendirici
- CSS Küçültücü
- Html Minifier
- Javascript Minifier
- JSON Küçültücü
- XML Küçültücü
- HTTP Başlıkları Görüntüleyici
- PDF'den Metne
- SERP Sıra Kontrolü
- Whois Sorgulama