İçeriğe atla
SPCXTools

Regex Test Aracı

Bir düzenli ifade yazın ve her eşleşmeyi, yakalama grubunu ve değiştirmeyi canlı olarak görün.

Yerel çalışır — dosyalarınız cihazınızdan dışarı çıkmaz

Araç yükleniyor…

Regex Test Aracı nasıl kullanılır

  1. 1Düzenli ifadenizi Pattern kutusuna yazın — eğik çizgi (slash) eklemenize gerek yoktur.
  2. 2g (tüm eşleşmeleri bul), i (büyük/küçük harf yoksay) veya m (çok satırlı) gibi bayrakları seçin.
  3. 3Aranacak metni Test string alanına yapıştırın. Eşleşmeler anında vurgulanır ve sayılır.
  4. 4Her eşleşmenin konumu ve yakalama grupları için tabloyu kontrol edin.
  5. 5String.replace sonucunu önizlemek için Replace kutusunu işaretleyin ve $2: $1 gibi bir değiştirme metni girin.

Düzenli ifadeleri (regex) canlı sonuçlarla test edin

Düzenli ifadeler güçlüdür ancak okunması zordur. Bu regex test aracı, siz yazarken deseninizin tam olarak ne yaptığını gösterir: metin içindeki her eşleşme vurgulanır, sayılır, konumu ve yakalama gruplarıyla birlikte listelenir. Değiştirme önizlemesi, kodunuzda çalıştırmadan önce bul-değiştir işleminin sonucunu gösterir. Her şey tarayıcınızda yerel olarak, sayfayı sonsuz döngüye giren desenlere karşı koruyan bir arka plan işleyicisinde çalışır.

Özellikler

  • Test metnindeki tüm eşleşmelerin canlı vurgulanması.
  • Tam /pattern/flags formatıyla birlikte g, i, m, s ve u için bayrak (flag) ayarları.
  • İndeks, numaralandırılmış yakalama grupları ve isimlendirilmiş grupları içeren eşleşme tablosu.
  • $1, $<name>, $& ve diğer değiştirme desenlerini destekleyen değiştirme önizlemesi.
  • Geçersiz sözdizimi için anlaşılır hata mesajları ve yıkıcı geri izleme (catastrophic backtracking) durumlarına karşı bir saniyelik güvenlik zaman aşımı.

Pratik kullanım alanları

Girdi doğrulama. Posta kodları, ürün kodları veya kullanıcı adları için desenler oluşturun ve bunları bir forma eklemeden önce geçerli ve geçersiz örneklerden oluşan bir listeyle test edin.

Veri ayıklama. Loglardan ve belgelerden e-posta adreslerini, URL'leri, tarihleri veya kimlikleri (ID) çekin. Yakalama grupları, her eşleşmeyi kullanıcı adı ve alan adı gibi parçalara ayırmanızı sağlar.

Bul ve değiştir. Tarihleri MM/DD/YYYY formatından YYYY-MM-DD formatına dönüştürün, değişkenleri yeniden adlandırın veya dışa aktarılan verileri temizleyin. Değişikliği burada önizleyin, ardından aynı deseni editörünüzde veya betiğinizde kullanın.

Regex öğrenme. Niceleyiciler, karakter sınıfları ve çapalarla denemeler yapın ve etkisini anında görün.

Hızlı referans

Sözdizimi Anlamı
. Satır sonu hariç herhangi bir karakter (s ile herhangi bir karakter)
\d \w \s Rakam, kelime karakteri, boşluk
[abc] [^abc] Listelenen karakterlerden biri / hiçbiri
* + ? 0 veya daha fazla, 1 veya daha fazla, 0 veya 1
{2,5} 2 ile 5 kez arası
^ $ Metnin başı ve sonu (m ile her satırın)
(…) (?<name>…) Yakalama grubu, isimlendirilmiş grup
(?:…) Yakalama yapmayan grup
(?=…) (?!…) İleriye bakış, negatif ileriye bakış
\b Kelime sınırı

Niceleyiciler varsayılan olarak açgözlüdür; onları tembel yapmak için ? ekleyin (.*? gibi). Sonrasında listeleri temizlemek için Yinelenen Satırları Sil aracını deneyin veya öncesi ve sonrasını Metin Karşılaştırma ile karşılaştırın.

Sıkça sorulan sorular

Bu test aracı hangi regex türünü kullanıyor?
Tarayıcınızın JavaScript (ECMAScript) düzenli ifade motorunu kullanır; Node.js, Deno ve front-end kodlarında kullanılanla aynıdır. Sözdiziminin çoğu PCRE, Python ve Java ile ortaktır, ancak possessive quantifiers (desteklenmez) ve lookbehind (modern tarayıcılarda desteklenir) gibi bazı özellikler farklılık gösterir.
Regex'im neden sadece tek bir eşleşme buluyor?
g (global) bayrağı olmadan JavaScript ilk eşleşmede durur. Metindeki tüm eşleşmeleri bulmak için g bayrağını etkinleştirin.
Değiştirme işleminde yakalama gruplarına nasıl referans verebilirim?
Numaralandırılmış gruplar için $1, $2 vb., (?<year>\d{4}) gibi isimlendirilmiş gruplar için $<name>, tüm eşleşme için $& ve gerçek bir dolar işareti için $$ kullanın.
Regex'im çok yavaş çalışıyorsa ne olur?
(a+)+$ gibi bazı desenler, belirli girdilerde üstel zaman alabilir ("catastrophic backtracking"). Test aracı, ifadenizi arka planda (background worker) çalıştırır ve bir saniye sonra durdurur, böylece sayfa asla donmaz. İç içe geçmiş niceleyicilerden (nested quantifiers) kaçınmak için deseni yeniden yazın.
s ve u bayrakları ne işe yarar?
s (dotAll), . karakterinin satır sonlarıyla da eşleşmesini sağlar. u (unicode), desen ve metni Unicode kod noktaları olarak ele alır; bu, emojiler ve \p{L} (herhangi bir harf) gibi \p{…} özellik kaçışları (property escapes) için gereklidir.
Metnim sunucuya yükleniyor mu?
Hayır. Eşleştirme ve değiştirme işlemleri yerel olarak tarayıcınızda çalışır.