Regex Test Aracı

Bir düzenli ifade ve örnek metin girerek eşleşmeleri görün.

Nasıl hesaplanır?

Desen eğik çizgilerle sarılır ve PCRE (Perl uyumlu) düzenli ifade motoruyla çalıştırılır; bu yüzden PCRE sözdizimi geçerlidir ve JavaScript veya POSIX'ten geriye bakış ve adlandırılmış gruplar gibi yerlerde farklılık gösterir. Desendeki çıplak bir eğik çizgi sizin yerinize kaçırılır, önceden kaçırdığınız (\/) ise olduğu gibi bırakılır; yani hem a/b hem a\/b çalışır. Yalnızca i (büyük/küçük harf duyarsız), m (^ ve $ her satırda eşleşir), s (nokta satır sonuyla da eşleşir), x (genişletilmiş, boşlukları yok sayar) ve u (UTF-8) bayrakları tutulur; g dahil başka harfler atılır.

Araç bir durum (eşleşme, eşleşme yok veya geçersiz desen), eşleşme sayısı ve eşleşen metinlerin numaralı listesini verir. Tüm eşleşmeler her zaman bulunur, bu yüzden genel (g) bayrağı gerekmez. Yalnızca tam eşleşme listelenir, yakalama gruplarının içeriği listelenmez ve en fazla 50 eşleşme gösterilir, ardından üç nokta gelir. Desen ve metin birlikte doldurulmalıdır, aksi halde sonuç görünmez.

Örnek hesaplama

Örnek metindeki e-posta adreslerini \b[\w.+-]+@[\w-]+\.[\w.]+\b deseni ve i bayrağıyla bulalım. Tarama Write to ann@example.com or bob.smith@mail.example.org, not to @home or info@. metninde soldan sağa ilerler. Önce ann@example.com, sonra bob.smith@mail.example.org bulunur. @home ve info@. parçalarının bir tarafında karakter ya da noktalı bir alan adı olmadığından eşleşmez. Durum Eşleşme, sayı 2 olur ve liste iki adresi 1 ve 2 diye numaralandırarak gösterir.

Bu örneği dene →

Sık yapılan hatalar

  • Deseni JavaScript'te göründüğü gibi sınırlayıcı ve bayrakla birlikte yazmak, örneğin /abc/gi. Eğik çizgiler desenin parçası olur; bu yüzden /abc/ metindeki abc ile eşleşmez. Bayraklar kendi alanına yazılır.
  • Listenin her grubun yakaladığını göstermesini beklemek. Yalnızca tam eşleşme listelenir: ab üzerinde (a)(b) yalnızca ab verir. Grupları ayrı desenlere çevirerek test edin.
  • Çok satırlı metinde ^ veya $ kullanırken m bayrağını unutmak: onsuz ^\w+ tüm metnin yalnızca ilk kelimesini bulur, onunla her satırın ilk kelimesini.
  • Boş dizeyle de eşleşebilen bir desen yazmak, örneğin x*. abc metninde hepsi boş 4 eşleşme bildirir; gerçek isabet sanılması kolaydır.
  • i bayrağı olmadan büyük/küçük harf duyarsız eşleşme beklemek ya da tüm eşleşmeler için g'ye güvenmek. i yoksa eşleşme harf duyarlıdır; tüm eşleşmeler ise zaten her zaman bulunur.

Bu hesaplama hakkında

Bu araç, standart regex sözdizimini — karakter sınıfları, niceleyiciler (*, +, ?, {n,m}), çıpalar (^, $) ve gruplar — kullanarak örnek metin üzerinde bir düzenli ifade (regex) çalıştırır ve bulduğu tüm eşleşmeleri toplam sayıyla birlikte listeler, böylece bir kalıbı koda eklemeden önce doğrulamanıza olanak tanır. Regex motorları tam davranışlarında küçük farklılıklar gösterir (PCRE, JavaScript'in RegExp'i, POSIX), bu nedenle bir kalıbı etkileşimli olarak test etmek, açgözlü (greedy) ve tembel (lazy) niceleyiciler veya kaçırılmamış özel karakterler gibi uç durumları üretimde bir hataya yol açmadan önce yakalar.

Form girdisini doğrulayan, log ayrıştırma betiği yazan veya URL yönlendirici oluşturan geliştiriciler, regex sözdiziminin ince şekilde yanlış anlaşılmasının ne kadar kolay olduğu bilindiğinden bir regex test aracını sürekli kullanır — ilk üç test durumunuzla eşleşen bir kalıp, dördüncüsünde sessizce başarısız olabilir. Bu araç, bir öğrencinin bir kalıbın metnin tam olarak hangi bölümleriyle eşleştiğini, salt kağıt üzerinde akıl yürütmek yerine görmesine olanak tanıyan yaygın bir regex öğrenme aracıdır da (bu araç tüm eşleşmeleri listeler, tek tek yakalama gruplarının içeriğini göstermez).

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar