Toolbox Hub
Tüm Araçlar

Regex Tester

Test regular expressions

Test regular expressions Tarayıcınızda yerel olarak çalışır

About the

Regex Test Aracı, kendi örnek metninize karşı bir JavaScript normal ifadesi çalıştırır ve siz yazdıkça her eşleşmeyi vurgular; böylece tahmin etmek yerine bir modelin başarılı veya başarısız olduğunu izleyebilirsiniz. Vurguların yanı sıra, her bir eşleşmeyi başlangıç ​​konumu ve yakalama gruplarıyla birlikte listeler; bu aslında size grup 2'nin istediğiniz değer mi yoksa boş bir dize mi olduğunu söyleyen kısımdır. Çoğu bozuk normal ifadeye üç hata neden olur ve üçü de burada görülebilir: amaçlanandan daha fazla metni sessizce yutan açgözlü bir niceleyici, herhangi bir şeyle eşleşen, kaçılmamış bir nokta ve ilk isabetten sonra aramayı durduran eksik bir genel bayrak.

Where people use the

  • Bir avuç gerçek günlük satırına karşı bir günlük ayrıştırma modelinde hata ayıklama.
  • Bir forma aktarmadan önce bir telefon veya posta kodu kuralı üzerinde çalışın.
  • Yapıştırılan bir metin bloğundan sipariş numaralarını veya kimliklerini çıkarma.
  • Bir karakteri değiştirerek ve vurguların hareketini izleyerek niceleyicilerin nasıl davrandığını öğrenmek.

How to use the

  1. 1

    Test etmek istediğiniz metni yapıştırın

    İcat edilmiş bir örnek yerine gerçek bir örnek kullanın. Gerçek verilerinizdeki uç durumlar modeli bozan şeylerdir, bu nedenle eşleşmemesi gereken bir satır da ekleyin.

  2. 2

    Deseni yaz

    İfadeyi etrafındaki eğik çizgiler olmadan girin; örneğin /[a-z]+/ yerine [a-z]+. Bayraklar ayrı geçişlerdir.

  3. 3

    Bayrakları açma veya kapatma

    g ilk başta durmak yerine her eşleşmeyi bulur, i büyük/küçük harf göz ardı eder, m bağlantıların satır başına çalışmasını sağlar, s noktanın yeni satırları kapsamasına izin verir, u tam Unicode modunu etkinleştirir ve y bağlantı noktaları lastIndex ile eşleşir.

  4. 4

    Maç tablosunu okuyun

    Her sonuç, eşleşen metni, karakter uzaklığını ve her yakalama grubunu gösterir. Beklenmeyen bir boş grup genellikle isteğe bağlı bir niceleyicinin hiçbir şeyle eşleşmediği anlamına gelir.

  5. 5

    Bitmiş deseni kopyalayın

    Vurgular doğru göründüğünde, ifadeyi kopyalayın ve kodunuza yapıştırın; bayrakları da taşımayı unutmayın.

İpuçları ve en iyi uygulamalar

  • Desen başına bir kuralı test edin. Üç işi yapan bir regex okunamaz ve hata ayıklamak imkansızdır.
  • Eşleşmemesi gereken bir satır ekleyin ve vurgulanmadan kaldığını onaylayın.
  • Numaralı gruplar yerine yıl, ay, gün gibi adlandırılmış grupları tercih edin, böylece gelecek ay tekrar döndüğünüzde desen hala bir anlam ifade eder.

Sık sorulan sorular

Bu hangi normal ifade aromasını kullanıyor?

JavaScript, tarayıcının kendi RegExp motoru aracılığıyla. Sözdizimi PCRE ve Python'un re modülüne yakındır ancak aynı değildir. Adlandırılmış gruplar, ileriye dönük, geriye dönük ve Unicode özelliği, mevcut tarayıcılardaki tüm işlerden kaçar.

Desenim neden beklediğimden çok daha fazla metinle eşleşiyor?

Çünkü niceleyiciler varsayılan olarak açgözlüdür. .* veya [0-9]+ gibi bir şey, desenin geri kalanının eşleşmesine izin verirken, mümkün olduğu kadar çok tüketecektir. Tembellik yapmak için bir soru işareti ekleyin, yani .*? veya [0-9]+? ilk fırsatta durur.

Neden sadece tek bir sonuç alıyorum?

Küresel bayrak kapalı. g olmadan motor ilk eşleşmeye döner ve durur. Girişteki her eşleşmeyi toplamak için g'yi açın.

Çapam neden ikinci satırda çalışmıyor?

Varsayılan olarak düzeltme işareti ve dolar çapaları her satırı değil, tüm dizenin başlangıcını ve bitişini belirtir. Bunları satır duyarlı hale getirmek için m bayrağını etkinleştirin.

Test verilerim herhangi bir yere gönderiliyor mu?

Hayır. Eşleştirme tarayıcınızda yerleşik RegExp nesnesi ile gerçekleşir. Hiçbir şey yüklenmediğinden gerçek günlük satırlarını veya yapılandırma parçalarını güvenle yapıştırabilirsiniz.

Bunu bir formdaki girişi doğrulamak için kullanabilir miyim?

Modeli burada geliştirebilirsiniz, ancak her zaman sunucuda tekrar doğrulayın. İstemci tarafı regex kullanıcı için kolaylık sağlar, asla bir güvenlik kontrolü değildir çünkü tamamen atlanabilir.

İlgili Araçlar