Düzenleyici

Giriş veya regex yürütmesi bekleniyor…

Eylemler

?
?
?

Hakkında Çevrimiçi Regex Test Aracı

Biraz metin yapıştırın, bir regex deseni yazın, bayrakları değiştirin ve anında neyin eşleştiğini görün. Bu regex test aracı, modern JavaScript çalışma zamanlarıyla aynı RegExp motorunu kullanır, bu nedenle burada gördüğünüz, ön uç kodunuzda, Node.js betiklerinizde veya sunucu tarafı doğrulamada elde edeceğinizle aynıdır. Adlandırılmış yakalama grupları, ileri/geri bakışlar ve Unicode modu, çalışma zamanınız desteklediğinde kullanılabilir.

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

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

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

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

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

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ı.

DesenAnlamÖ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, \sRakamlar, kelime karakterleri, boşluklar<code>\d+</code> → <code>123</code>
\D, \W, \SYukarı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.

DesenAnlamÖ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.

ÖzellikSö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İsimEtki
gGlobalSadece ilk eşleşme yerine tüm eşleşmeleri bul
iBüyük/küçük harf yok sayBü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
sDotAll<code>.</code> satır sonlarını da eşleştirir
uUnicodeModern motorlarda Unicode modunu ve özellik kaçışlarını etkinleştirir
yYapışkanYalnı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.txt

Belirli bir desenle eşleşen satırları bul

sed ile arama ve değiştirme

sed -E 's/pattern/replacement/g' input.txt > output.txt

Metin dosyalarında toplu değiştirmeler

Windows / PowerShell

PowerShell regex araması

Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txt

Gü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.txt

Basit 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?

Yaygın tuzaklar: 1) Özel karakterler kaçlanmamış (örneğin ., ?, +), 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?

Her çalıştırma 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?

Evet, JavaScript motorunuz desteklediğinde. Unicode moduna geçmek için 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?

Test cihazı, çalışma süresi aracılığıyla yavaş desenlere işaret edebilir, ancak felaket geri izlemeyi tamamen önleyemez: temel motor hala eşzamanlı çalışır. Bu aracı bir erken uyarı sistemi olarak kullanın, ardından karmaşık desenleri kendi kod tabanınızda dikkatlice kıyaslayın ve gözden geçirin.

Pro Tips

Best Practice

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.

Best Practice

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.

Best Practice

<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.

Best Practice

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