Önemli noktalar
- 01Sınayıcı, tarayıcınızın yerel JavaScript RegExp motorunu kullanır, bu nedenle sonuçlar Node.js veya modern tarayıcıda tam olarak üretilecek şeyle eşleşir.
- 02Altı JavaScript bayrağının tümü (g, i, m, s, y, u) bireysel olarak kullanılabilir.
- 03Değiştirme şablonları güçlü değiştirme önizlemeleri için $1, $2, $& ve $$ destekler.
- 04Sunucuya hiçbir şey gönderilmez — kalıplar ve test dizeleri tamamen tarayıcınızda kalır.
Adanmış Regex Sınayıcı Neden IDE'inizi Yener
Düzenli ifadeler güçlüdür ancak bir bakışta okumak pes ettirici zordur. Hatta deneyimli geliştiriciler de şaşkınlıkla karşılaşır: newline'ları yutan bir nokta, çok fazla tüketen açgözlü bir nicelik belirteci veya biri kapalı olan bir yakalama grubu. Adanmış bir sınayıcı çevreleyen kodu çıkarır, böylece kalıp ve giriş dizesi hakkında bir kerede yinelemeler yapabilirsiniz.
Handytool'un regex sınayıcı, tarayıcının yerel ECMAScript RegExp motorunu kullanarak kalıpları değerlendirir, yani çeviri katmanı yoktur ve tat uyuşmazlığı yoktur. Sınayıcı eşleşirse, JavaScript kodunuz da eşleşir. Bayrakları geçiş yapın, yeni bir örnek dize yapıştırın ve sonuçlar anında güncelenir — çalıştırma düğmesi gerekmez.
Regex Kalıbı Nasıl Test Etmelisiniz
Tüm iş akışı bir dakıkada alınır.
- 01
Kalıbı yapıştırın veya yazın
Kalıp alanına düzenli ifadenizi girin. Çevreleyen eğik çizgileri atlayın — bayraklar ayrı olarak ayarlanır.
- 02
Bayraklarınızı ayarlayın
g, i, m, s, y ve u'yu bireysel olarak geçiş yapın. Küresel bayrağı çoğu zaman birden fazla eşleşme kullanım durumları için gereklidir.
- 03
Test dizenizi yapıştırın
Eşleşmek istediğiniz metni ekleyin. Her tuş basışı kalıbı yeniden çalıştırır ve girdide eşleşmeleri vurgular.
- 04
Yakalama gruplarını inceleyin
Eşleşme listesini kaydırın, her eşleşmenin konumunu ve her sayılı yakalama grubunun değerini görmek için.
- 05
Değiştirme önizlemesi yapın
$1, $2 veya $&'yi kullanarak bir değiştirme şablonu girin ve değiştirilen çıktıyı canlı olarak görün — String.replace() çağrısını yazmadan önce doğrulamak için harika.
Hızlı Regex Hata Ayıklama Kontrol Listesi
Bir hata olduğunu varsaymadan önce bunları çalıştırın:
- 01Birden fazla eşleşme bekliyorsanız küresel bayrağı etkinleştirilmiş midir?
- 02Noktaların newline'ları eşleştirmesi mi gerekiyor? Öyleyse s bayrağını etkinleştirin.
- 03Değiştirmede numaralandırılmış grupları ($1, $2) veya adlandırılmış grupları (\k<name>) kullanıyor musunuz?
- 04Kalıp Unicode kaçışları (\p{…}) kullanıyor mu? u bayrağı gerektirir.
- 05Yapışkan bayrağın (y) her eşleşme için yeni bir lastIndex değerine ihtiyacı var mı?
Gizlilik Tasarımında
Regex sınayıcı, siz yazdığınızda sıfır ağ isteği yapar. Kalıpınız ve test dizeniz, tarayıcının JavaScript motoru tarafından tamamen işlenir — bunlar hiçbir zaman sunucuya dokunmaz. Bu, mülkiyetli günlük satırları, dahili API yüklerini veya hata ayıklama sırasında hassas dizelerini yapıştırmayı güvenli hale getirir.
Sunucu dahil olmadığı için, oran sınırı, gerekli hesap ve yapıştırma boyutu kısıtlaması yoktur (tarayıcı sekmesinin işleyebileceği ölçüde). Çoğu günlük kalıp ve dize bir milisaniyenin altında değerlendirilir.
Regex Sınayıcı SSS
Bu sınayıcı hangi regex dilini kullanır?
JavaScript (ECMAScript). Kalıplar tarayıcının yerel RegExp motoru tarafından değerlendirilir, Node.js ve modern tarayıcı davranışıyla tam olarak eşleşir. Lookbehinds, adlandırılmış gruplar ve Unicode özellik kaçışları (\p{…} u bayrağı ile) tümü desteklenir.
Kalıbım veya test diziyi sayfa ayrıntısında bırakır mı?
Hayır. Her şey tarayıcınızda yerel olarak çalışır — bir kalıp yazdığınızde, bayrakları değiştirdiğinizde veya değiştirme önizlemesi yaptığınızda ağ istekleri yapılmaz.
Yakalama gruplarını değiştirme alanında nasıl kullanırım?
Numaralandırılmış gruplar için $1, $2, … kullanın, tüm eşleşme için $& ve değişmez bir dolar işareti eklemek için $$. Önizleme, kalıp veya şablonunu değiştirirken canlı olarak güncellenir.
Bu Python veya PCRE kalıpları için mi çalışır?
Motor JavaScript'tir, bu nedenle çoğu temel kalıp aynı şekilde davranır, ancak Python stili (?P<name>…) adlandırılmış grupları ve sahip olmayan nicelik belirteçleri desteklenmez. JS eşdeğerlerini kullanın — adlandırılmış gruplar için (?<name>…).
Neden regex'im satır sonlarında eşleşmiyor?
s (dot-all) bayrağını etkinleştirin veya '.'yi [\s\S] ile değiştirin. Olmadan, nokta newline dışında herhangi bir karakteri eşleştirir.