Volade Ekosistemi — Web Aracı

Regex Test Aracı

Normal ifadeyi çevrimiçi olarak anında test edin : metin her tuş vuruşunda vurgulanır, eşleşme tablosu indeks, uzunluk ve yakalama gruplarını gösterir, Değiştir sekmesi deseni $1 ve $& ile uygular, Açıkla sekmesi deseni öğe öğe parçalar, Performans sekmesi ise ReDoS riskini ölçer. Ücretsiz, hesapsız ve %100 yerel : metniniz asla tarayıcınızdan çıkmaz.

6 test modu0 sunucuya gönderilen bayt10 hazır örnekler
Araç

Çevrimiçi regex test aracınız

Bir desen yazın, bayrakları işaretleyin, metin yapıştırın : eşleşmeler hem vurgulu hem tabloda görünür, « Dönüştür » düğmesi olmadan.

Regex Test Aracı

Çevrimiçi Geliştirme, Kod & Veri
Giriş yap
Kısayollar : Ctrl+Enter yeniden hesapla
Hazır.

                  
Eşleşmeler, siz yazdıkça orijinal metinde vurgulanır.
#EşleşmeİndeksUzunlukGruplar
Yazarken analiz, değiştirme ve açıklama · Ctrl+Enter aktif sekmeyi yeniden hesaplar · ağ isteği yok · %100 yerel, cihazınızdan hiçbir şey çıkmaz.
0,0 0Yorum Tüm araçlar
Ücretsiz mi, Premium mu ?

Regex test aracı ücretsiz ve sınırsızdır : hesap yok, kurulacak bir şey yok, ağ isteği yok. Premium ise Volade ekosisteminin tamamının kilidini açar.

ÜcretsizVurgulama, eşleşme tablosu ve yakalama grupları
ÜcretsizDesene göre $1, $& ve adlı gruplarla değiştirme
ÜcretsizDesen açıklaması, örnek kitaplığı ve hız referansı
PremiumDesenlerin ve test parçalarının şifreli bulut senkronizasyonu
PremiumEkosistem araçları arasında paylaşılan API erişimi ve betikler
Premium'u aç
Özellikler

Bir regex'i sınırsızca test etme, değiştirme ve açıklama

Tek bir motor analizi, değiştimeyi ve deseni anlamanızı kapsar — cihazınızdan asla çıkmadan.

Vurgulama ve eşleşme tablosu

Her eşleşme orijinal metinde vurgulanır; indeksi, uzunluğu ve her yakalama grubunun (numaralı ya da adlı) değeriyle listelenir. Uç durumlar ele alınır : eşleşmeyen desenler, birkaç megabaytlık girdiler, uzunluğu sıfır eşleşmeler ve alanın altında duyurulan 2.000 sonuç tavanı.

Bir desen test et

Gruplarla değiştirme

Değiştir sekmesi deseni kaynak metninize uygular ve çıktıyı canlı gösterir : $1 ve $2 yakalama gruplarını geri ekler, $& tam eşleşmeyi, $<nom> ise adlı bir grubu verir. Değiştirme sayısı ayrı sayılır ve araç, yalnızca ilk eşleşmenin değişeceğinde eksik g bayrağını size hatırlatır.

Metni değiştir

Açıklama, örnekler ve performans

Açıkla sekmesi deseni sınıflara, kaçışlara, gruplara, lookaround'lara ve nicelikleyicilere böler; her biri için Türkçe bir anlam ve somut bir örnek sunar. Örnekler sekmesi on denenmiş desen yükler — e-posta, URL, tarih, IPv4, güçlü parola — Performans sekmesi ise felaket geri izleme riskini bulmak için gerçek çalışma süresini ölçer.

Modları keşfet
Nasıl çalışır

Üç adımda desen yazma, doğrulama ve düzeltme

Kurulum yok, kayıt yok : araç her zaman hazırdır, ister mobil ister masaüstünde.

Deseni yazın

Normal ifadeyi ortak alana yazın ve ihtiyacınız olan bayrakları işaretleyin : sonuç her tuş vuruşunda yeniden hesaplanır. Sözdizimi hatası, tarayıcının ham mesajı yerine alanın altında Türkçe olarak verilir — kapanmamış parantez, açık sınıf, sahipsiz nicelikleyici —.

Metninizi yapıştırın

Metin vurgulanır ve eşleşme tablosu aynı anda dolar. Herkesin atladığı adım budur — ve çoğu yanlış deseni ortaya çıkaran da budur : unutulmuş bir çapa, kapsanmamış büyük/küçük harf, satır sonlarını yutmayan bir nokta.

Açıklayın, sonra ölçün

Deseni satır satır okumak için « Açıkla » sekmesine geçin, düzeltin, ardından « Performans » sekmesinde çalışma süresinin ReDoS riskini gösteren 250 ms'den çok uzakta olduğunu doğrulayın. Yerel geçmiş, son desenlerinizi tek tıkla yeniden yüklemek için saklar.

Hızlı başvuru

Normal ifade bir bakışta

Çoğu geliştiricinin bir deseni okumadan önce kontrol ettiği şeyler — « Hız Referansı » sekmesindeki eksiksiz hız referansıyla birlikte.

ÖğeAnlamıÖrnek
.yeni satır dışında herhangi bir karaktera.c → abc
\dondalık bir rakam\d{3} → 123
\wbir harf, bir rakam ya da alt çizgi\w+ → volade_1
\sbir boşluk, bir sekme, bir satır sonu\s+ → «  »
^ $dizinin başı ve sonu^abc$ → abc
*sıfır veya daha fazla tekrar, açgözlü sürümab*c → ac, abbc
+bir veya daha fazla tekrarab+c → abc
?sıfır veya bir tekrarcolou?r → color, colour
{n,m}n'den m tekrara kadar\d{2,4} → 1234
(...)yakalama grubu(ha)+ → haha

« Normal ifade test etmek » ne anlama gelir ?

Normal ifade test etmek (« regex test online », « tester regex javascript ») gerçek bir metne desen çalıştırmaktan ve motorun tam olarak ne döndürdüğünü gözlemlemekten ibarettir : eşleşen dizgiler, bu dizgilerin konumu ve yakalama gruplarının değerleri. « doğru görünen » bir desen, sizin verileriniz üzerinde çalışmadan hiçbir şey söylemez — eğitimdeki regex ile üretimdeki regex arasındaki tek fark budur.

Test üç ayrı soruya yanıt verir. Eşleşiyor mu : eşleşme tablosu bunu ilk satırda söyler. Nerede ve kaç kez : indeks ve uzunluk, çapanın doğru yerde olup olmadığını gösterir. Neyi yakalıyor : numaralı ya da adlı gruplar, çıkarmayı planladığınız kısmın gerçekten o kısım olup olmadığını ortaya koyar.

Tüm farkı yaratan meta karakterler

Nokta . yeni satır dışında herhangi bir karakterle eşleşir — bu yüzden bayrak s metniniz çok satırlıyken kullanılır. Nicelikleyiciler *, + ve ? aslında açgözlüdür : ilk yeterli tekrar sayısında dururlar. Sonek ? (*?, +?, {2,5}?) bu davranışı tersine çevirir ve tembel sürümü verir, bir .* satır sonunu yuttuğunda neredeyse her zaman tercih edilmesi gereken sürüm budur.

Köşeli parantezler bir sınıf tanımlar : [abc] listelenenlerden bir karakteri kabul eder, [^abc] onlardan hariç her şeyi, [a-z0-9] bir aralığı. Sınıf başındaki negasyona dikkat : [^...] yalnızca ilk konumda geçerlidir, aksi halde ^ yeniden literal olur. Boru işareti | alternatifleri ayırır ve düşük öncelikli gibi davranır : ^cat|dog$ şunu demektir : « tüm metin cat'tir » ya da « tüm metin dog'dur », « başta cat ya da sonda dog » değil — bu durumda gruplamak gerekir : ^(?:cat|dog)$.

Gruplar, lookahead ve lookbehind

Parantezler yakalar. 1 numaralı gruba $1 değiştirme tarafında, \1 desen tarafında ise adlı gruplar $<nom> ve \k<nom> ile erişilir — üç gruptan itibaren çok daha okunaklıdır. (?:...) numara oluşturmadan gruplar; yalnızca yapı için yakalama yapıyorsanız bunu tercih etmek gerekir.

Bu kontroller (lookaround) tüketmeden doğrular : (?=...) sonrakinin eşleşmesini zorunlu kılar, (?!...) bunu yasaklar, (?<=...) ve (?<!...) aynısını önceki kısım için yapar. Bir parolada özel bir karakter, yakalamaya dahil edilmeden böyle zorunlu kılınır : ^(?=.*\d)(?=.*[A-Z]).{12,}$.

ReDoS : regex bir zaman bombasına dönüştüğünde

Kısaca ReDoS (Regular Expression Denial of Service) aslında backtracking : neredeyse eşleşen bir girdiye karşı bir desen (a+)+$ « a »ları ayırmanın tüm yollarını, başarısız olana kadar dener ve patlama sayısı üstel olarak büyür. İki alışkanlık : deseni gerçekçi bir hacimde test etmek — Performans sekmesi bunu sizin için yapar — ve denetlenemeyen bir regex'i, boyut sınırı olmayan dış bir girdiye asla çalıştırmamak. Bir sunucuda takılan bir regex, zaman aşımı dolana kadar tüm worker'ı dondurur.

JavaScript, PCRE, Python : aynı temeller, birkaç fark

Test aracı tarayıcının yerel motorunu, yani ECMAScript'i kullanır. Temel sözdizimleri — sınıflar, nicelikleyiciler, gruplar, lookahead, bayraklar g i m s u y — PCRE (PHP, Perl), rePython ile Java ve Go'da ortaktır. Farklar özellikle lookbehind (uzun süre JavaScript'te yoktu, artık destekleniyor), Unicode özellikleri ve (?i)gibi satır içi bayraklar üzerindedir; bunlar PCRE'ye özgüdür. Bir deseni bir dilden başka bir dile çevirmek dolayısıyla detay işidir — icat değil.

Kimler için önerilir

Front-end ve back-end geliştiricileri (form doğrulama, günlük ayrıştırma, veri göçü), ops ve DevOps (yapılandırma filtreleri, WAF kuralları), test uzmanları ve analistler (sütun çıkarma, biçim denetimi), içerik yazarları ve veri analistleri (dosya temizliği), öğrenciler (meta karakterleri anlamak) ve normal ifade test aracına ihtiyaç duyan herkes için hızlı, eksiksiz ve gizli bir sonuç isteyenler — yanındaki diğer araçlar ise : JSON biçimlendirici, URL kod çözücü, Base64 kod çözücü ve JWT kod çözücü.

SSS

Regex test aracı hakkında sık sorulan sorular

Bir deseni test etmeden, değiştirmeden veya açıklamadan önce bilmek istediğiniz her şey.

Normal ifade çevrimiçi nasıl test edilir ?

Deseni « Normal ifade » alanına yazın, g, i, m, s, u veya y bayraklarını işaretleyin, ardından metninizi yapıştırın : eşleşmeler orijinal metinde vurgulanır ve indeksi, uzunluğu ile her yakalama grubunun değeriyle tabloda listelenir. Her şey düğmesiz olarak yazdıkça yeniden hesaplanır.

g, i, m, s, u ve y bayrakları ne anlama gelir ?

g yalnızca ilk değil tüm eşleşmeleri arar, i büyük/küçük harfi yok sayar, m ^ ve $ işaretlerini satır başında ve her satırda geçerli kılar, s noktanın yeni satırla eşleşmesini sağlar, u \p{L} gibi Unicode sözdizimini etkinleştirir, y ise tam olarak imlecin konumunda başlamayı zorunlu kılar. Bunlar JavaScript motorunun bayraklarıdır; PCRE ve çoğu modern dil tarafından aynen kullanılırlar.

Bir regex ile metin nasıl değiştirilir ?

« Değiştir » sekmesine geçin, deseni ve değiştirme dizgesini girin, ardından çıktıyı okuyun. $1 ve $2 yakalama gruplarını geri ekler, $& tam eşleşmeyi, adlı grup için de $ ardından grup adını getirir. g bayrağı olmadan yalnızca ilk eşleşme değişir : araç bunu alanın altında size hatırlatır.

Normal ifade satır satır nasıl açıklanır ?

« Açıkla » sekmesi deseni öğelere böler — sınıflar, kaçışlar, gruplar, lookaround'lar, nicelikleyiciler — ve her biri için anlamını ile eşleşen somut bir metin örneği verir. Bir projeden kalan regex'i anlamanın ya da az önce yazdığınızın gerçekten sandığınızı yaptığını doğrulamanın en hızlı yoludur.

Normal ifade nedir ve meta karakterleri nelerdir ?

Normal ifade, bir dize kümesini tarif eden ve bir desen eşleştirme motoru tarafından yorumlanan bir desendir. . * + ? ^ $ | ( ) [ ] { } meta karakterlerinin kendine özgü anlamı vardır : nokta herhangi bir karakterle eşleşir, * ve + tekrar eder, ^ ve $ çapa görevi görür, | alternatifleri ayırır ve parantezler yakalama grupları oluşturur. Diğer tüm karakterler literaldir ve rezerve edildiklerinde geri ters eğik çizgi onları yeniden literal kılar.

ReDoS nedir ve nasıl önlenir ?

ReDoS (Regular Expression Denial of Service), hatalı kurulmuş bir desenin — genellikle (a+)+ gibi iç içe bir alternatifin — neredeyse eşleşen bir girdi karşısında backtracking denemelerini üstel biçimde çoğaltmasıyla ortaya çıkar. « Performans » sekmesi, üretilen bir hacim üzerinde çalışma süresini ölçer ve desen 250 ms'yi aşar aşmaz risk bildirir. Sunucularınızda girdi boyutu sınırı uygulayın ve doğrusal motorları tercih edin.

Regex'im neden hiçbir eşleşme döndürmüyor ?

En sık nedenler : çok satırlı bir metinde m bayrağı olmadan kullanılan ^ ve $ çapaları, düzgün kapatılmamış bir karakter sınıfı, i bayrağı olmadığı için kapsanmayan büyük/küçük harf, s bayrağı olmadan satır sonlarını yutmayan bir nokta ya da bambaşka bir şeyi tarif eden bir desen. « Açıkla » sekmesi bu farkları bir saniyede görünür kılar.

Araç metnimi sunucuya gönderiyor mu ?

Hayır : analiz, vurgulama, değiştirme ve açıklama tamamen tarayıcınızda çalışır; ağ isteği yok, hesap yok, çevrimdışıyken bile. Bir uygulama günlüğü, yapılandırma dosyası veya kimlik bilgisi içeren bir veri parçası yapıştırmak için bu şarttır. Desen, bayraklar ve metin cihazınızın yerel deposunda kalır ve tek tıkla silinebilir.

%100 yerel regex test aracı : metniniz asla bilgisayarınızdan çıkmaz

Klasik çevrimiçi regex testlarının aksine hiçbir satır gönderilmez : analiz, vurgulama, değiştirme, açıklama ve performans ölçümü tamamen tarayıcınızda, üçüncü parti kütüphane veya ağ isteği olmadan çalışır. Böylece gerçek bir uygulama günlüğü, bir yapılandırma dosyası veya kimlik bilgisi içeren bir veri parçası — çevrimdışıyken bile — yapıştırılabilir. Desen, bayraklar, metin ve geçmiş cihazınızın yerel deposunda kalır.

Lisans Volade Premium isteğe bağlı, şifreli ve araçtan bağımsız bir bulut senkronizasyonu ekler — geri kalan her şey kayıt olmadan ücretsiz ve sınırsız kalır.

Tek premium lisans, tüm web araçlarınız

Regex test aracı, JSON biçimlendirici, URL ve Base64 kod çözücü, JWT kod çözücü, üreticiler ve düzinelerce ücretsiz araç — üstelik tek bir lisansla tüm Volade ekosistemi.

Tek lisans, tüm premium ekosistem Tarayıcı · CMS · Masaüstü · Mobil · Scriptler · API · Araçlar · Database
Tek lisans, her şey Premium'a geç Giriş yap