Bir Düzenli İfadeyi Kodunuzu Bozmadan Önce Nasıl Test Edersiniz
Doğru görünen bir düzenli ifade, fark ettirmeden yanlış şeyle eşleşebilir, bir uç durumu kaçırabilir ya da hiçbir şeyle eşleşmeyebilir. Bunu yakalamanın en ucuz yolu, kalıbı kodunuza yaklaşmadan önce gerçek örnek metne karşı test etmektir. Bu rehber, regex’in ne olduğunu sade terimlerle açıklıyor ve ücretsiz Regex Test Aracı ile birini güvenle nasıl test edeceğinizi gösteriyor.
Düzenli ifade aslında nedir
Bir düzenli ifade, ya da regex, bir metin biçimini tanımlayan küçük bir kalıptır. Tek bir kesin kelime aramak yerine kuralı tanımlarsınız: “iki yanında harf bulunan bir kuyruk işareti”, ya da “bir veya daha fazla rakam”, ya da “satır başındaki bir kelime”. O biçimle eşleşen her şey bir isabettir.
Bu güç aynı zamanda tuzaktır. Bir kalıp, istediğinizden fazlasıyla (fazla açgözlü) ya da ihtiyacınızdan azıyla (fazla katı) eşleşebilir ve fark çoğu zaman çıplak gözle göremeyeceğiniz tek bir karakterdir. Bir regex’in ne yaptığını, onu bir metne karşı çalıştırıp neyin parladığını görene kadar gerçekten bilmezsiniz.
Örnek metne karşı test etmek neden saatler kazandırır
Çalışan bir programın içinde regex hata ayıklamak yavaş ve sancılıdır: kalıbı değiştirirsiniz, yeniden başlatırsınız, ona veri verirsiniz ve çıktıya gözlerinizi kısarak bakarsınız. Özel bir test aracı bu döngüyü daraltır. Kalıbınızı ve temsili bir metin bloğunu yapıştırırsınız, araç her eşleşmeyi anında vurgular. Neyin isabet ettiğini, neyin atlandığını ve nedenini görürsünüz.
Püf noktası, gerçeği yansıtan metne karşı test etmektir. Zorlu durumları bilerek ekleyin:
- Eşleşmesini beklediğiniz temiz örnekler.
- Eşleşmemesi gereken neredeyse-ama-tam-değil durumlar.
- Fazladan boşlukları, tuhaf noktalama işaretleri ya da karışık büyük-küçük harfleri olan dağınık, gerçek dünya girdileri.
Kalıbınız bu üçünden de sağ çıkarsa, üretimde de hayatta kalma olasılığı çok daha yüksektir.
Başlamak için yaygın kalıplar
Bir regex’i nadiren boş bir sayfadan yazarsınız. Birkaç yapı taşı, günlük ihtiyaçların çoğunu karşılar:
- Rakamlar.
\dtek bir rakamla eşleşir;\d+art arda bir veya daha fazlasıyla eşleşir, sayıları bulmak için iyidir. - Kelime karakterleri.
\w+harfler, rakamlar ve alt çizgilerle eşleşir, tanımlayıcıları yakalamak için kullanışlıdır. - Kabaca bir e-posta biçimi.
\S+@\S+\.\S+gibi bir şey, hızlı bir kontrol için temel “metin, kuyruk işareti, metin, nokta, metin” kalıbını yakalar. - Çapalar.
^bir eşleşmeyi satırın başına,$ise sonuna bağlar, böylece parçalar yerine bütün girdilerle eşleşirsiniz.
Bunları başlangıç noktaları olarak görün. Doğru hamle, birini yapıştırmak, kendi metninizde nasıl davrandığını görmek ve oradan sıkılaştırmaktır.
Tarayıcınızda bir regex nasıl test edilir
Ücretsiz Regex Test Aracı tamamen tarayıcınızda çalışır, böylece kalıp ve yapıştırdığınız örnek metin kendi cihazınızda kalır ve asla yüklenmez. Test verileriniz gerçek günlük satırları ya da kullanıcı kayıtları olduğunda bu önemlidir.
- Aracı açın ve kalıbınızı girin.
- Doğrulamak istediğiniz uç durumlar da dahil olmak üzere bir örnek metin bloğu yapıştırın.
- Yazarken eşleşmelerin vurgulanmasını izleyin ve yalnızca doğru metin parlayana kadar kalıbı ayarlayın.
- Çalışan kalıbı güvenle kodunuza kopyalayın.
Eşleşme sekmede gerçekleştiği için, hassas örnek verilere karşı, bunlar makinenizden çıkmadan test edebilirsiniz.
Küçük ve güvenli adımlarla yineleyin
Bir regex oluşturmanın güvenilir yolu, dev bir ifade yazıp umut etmek yerine onu kademeli olarak büyütmektir. Ana durumunuzla eşleşen en basit kalıpla başlayın, test aracında doğrulayın, sonra her seferinde bir kısıt ekleyin. Her değişiklikten sonra “eşleşmemeli” örneklerinizin hâlâ karanlık kaldığını yeniden kontrol edin. Bir ayar aniden olmaması gereken bir şeyle eşleşirse, buna hangi değişikliğin neden olduğunu tam olarak bilirsiniz. Küçük adımlar regex’i tahminden çıkarıp gerçekten üzerinde akıl yürütebileceğiniz bir şeye dönüştürür.
Metinle çalışmak için ilgili araçlar
Bir regex çoğu zaman daha geniş bir metin düzenleme işinin bir adımıdır. Eşleştirdiğiniz veri JSON olduğunda, JSON Biçimlendirici hedeflediğiniz yapıyı görebilmeniz için onu önce girintiler. Bir kalıbı ayarlayıp çıktıda tam olarak neyin değiştiğini görmek istediğinizde, Fark Karşılaştırıcı farkları satır satır vurgular. Ve web adreslerinden parçalar çekiyorsanız, URL Ayrıştırıcı bir URL’yi parçalarına ayırır, ki bu genellikle her şeyi elle eşleştirmekten daha temizdir.
Kısa versiyon
Bir regex bir metin biçimini tanımlar ve birine güvenmenin tek yolu, kodunuza dokunmadan önce onu gerçek örneklere karşı test etmektir. Ona beklediğiniz eşleşmeleri, az farkla kaçanları ve dağınık girdilerinizi verin, sonra her seferinde bir kısıt ekleyerek yineleyin. Ücretsiz Regex Test Aracı bunu tarayıcınızda canlı olarak, gizlilik içinde ve kayıt olmadan yapar, böylece kalıbı, herhangi bir şeyi bozma fırsatı bulmadan önce doğru hâle getirebilirsiniz.
Regex Test Aracı aracını şimdi dene
Ücretsiz online regex test aracı. Bir kalıp ve bayrak yaz, metnini yapıştır, her eşleşmeyi indeksi ve yakalama gruplarıyla canlı gör. Tarayıcında çalışır.
Regex Test Aracı aracını aç