Regex test aracı

Bir desen yazın ve her eşleşmeyi bağlam içinde vurgulanmış görün — buton yok, motor tarayıcının kendi JavaScript RegExp'sidir.

Nasıl kullanılır

  1. Deseni eğik çizgiler olmadan yazın ve ihtiyacınız olan bayrakları açın: eşleşmeler yazarken güncellenir, basılacak bir buton yoktur.
  2. Test edilecek metni yapıştırın. Her eşleşme sonuç panelinde vurgulanır ve konumu, metni ve yakalama gruplarıyla birlikte listelenir.
  3. Tüm eşleşen değerleri tek seferde kopyalayın veya metin dosyası olarak indirin — satır başına bir eşleşme.

Örnek

Desen ve metin

(\w+)@(\w+)\.(\w+)

İletişim: elif@ornek.com veya ahmet@ornek.org ayrıntılar için.

Eşleşmeler

Eşleşme: 2
#1 [18–35] elif@ornek.com
   1: elif  2: ornek  3: com
#2 [40–57] ahmet@ornek.org
   1: ahmet  2: ornek  3: org

İlk satır desendir (eğik çizgi gerekmez), kalan test metnidir. Aralıklar 0'dan başlayan, sonu hariç metin ofsetleridir — JavaScript'in match.index'de raporladığı aynı sayılar. Global eşleştirme her zaman açıktır, g düğmesi olmasa bile tüm tekrarlar bulunur.

Kurallar, sınırlar ve bilinen sorunlar

  • Motor tarayıcının kendi JavaScript RegExp'sidir: PCRE, Python, Go veya RE2 çeşnisi yoktur, çeşni seçici de yoktur. \A, \z ve (?i) gibi satır içi bayraklar desteklenmez.
  • Global eşleştirme her zaman açıktır; tek bayraklar i, m, s ve u'dur. y (sticky), d (indices) ve v (Unicode sets) sunulmaz.
  • /…/ eğik çizgileri dekorasyondur: deseniniz içindeki / burada kaçış gerektirmez, JavaScript literal'inden farklı olarak. Yanındaki bayrak göstergesi kodda yeniden kullanılacak tam dizidir.
  • Sözdizimi hatası, yerelleştirilmiş bir ön ekin ardından tarayıcının kendi mesajını gösterir (İngilizce); ifade tarayıcılar arasında farklılık gösterir.
  • Boş test metni sonuç üretmez — test edilecek satır yoktur, dolayısıyla ^$ gibi desenler burada doğrulanamaz.
  • En fazla 2000 eşleşme toplanır (sayaç sonra 2000+ olarak okunur) ve liste ilk 200'ü gösterir. Her iki sınır da sessizce kesmek yerine bildirilir.
  • 100.000 karakteri aşan metin yazarken hâlâ güncellenir, sonuç görünmeden önce daha uzun bir gecikme ile.
  • Katastrofik geri izleme sekmeyi dondurabilir: JavaScript regex senkron çalışır ve kesilemez, timeout yoktur. Güvenilmeyen desenler veya devasa metinler yapıştırmayın.
  • \w, \b ve \d u bayrağı ile bile yalnızca ASCII'dir — Çince veya Arapça harfleri \p{L} ve u bayrağıyla eşleştirin. u olmadan \p{L} hata değildir: sessizce düz metin eşleşmesine dönüşür.
  • i Unicode basit case folding kullanır, yerel kuralları değil: Türkçe İ ve i birbiriyle eşleşmez, ß SS'e katlanmaz.
  • Aralıklar 0'dan başlayan, sonu hariç UTF-16 ofsetleridir, dolayısıyla bir emoji iki birim sayılır. Katılmamış bir grup — olarak gösterilir; boş dize eşleştirmiş bir grup boş gösterilir.
  • Sıfır uzunluklu eşleşmeler (\b, a*, (?=x)) ince bir işaretleyici olarak gösterilir ve aralıkları n–n olarak okunur.
  • Kopyalama ve indirme yalnızca eşleşen değerleri listeler, satır başına bir tane, numara, aralık veya grup olmadan. Satır sonu içeren bir eşleşme bu yüzden birden çok satıra yayılır.
  • Değiştirme önizlemesi yok, kod üretici yok, kalıcı bağlantı yok, kayıtlı desen yok: desen asla giriş kutusundan çıkmaz ve asla URL'ye girmez.

Desen doğru çalıştıktan sonra genellikle yapılanlar.