Whiz Tools

Regex Desen Test Aracı

Kopyala

Eşleşme Sonuçları

Sonuçları görmek için bir desen ve test metni girin

Deseni Kaydet

Kaydedilen Desenler

Henüz kaydedilmiş desen yok

Regex Sembolleri Rehberi

.Yeni satır hariç herhangi bir karakterle eşleşir
\dHerhangi bir rakamla (0-9) eşleşir
\DHerhangi bir rakam olmayan karakterle eşleşir
\wHerhangi bir kelime karakteriyle (a-z, A-Z, 0-9, _) eşleşir
\WHerhangi bir kelime olmayan karakterle eşleşir
\sHerhangi bir boşluk karakteriyle eşleşir
\SHerhangi bir boşluk olmayan karakterle eşleşir
^Satırın başıyla eşleşir
$Satırın sonuyla eşleşir
*Önceki karakterin 0 veya daha fazlasıyla eşleşir
+Önceki karakterin 1 veya daha fazlasıyla eşleşir
?Önceki karakterin 0 veya 1'iyle eşleşir
{n}Önceki karakterin tam n'iyle eşleşir
{n,}Önceki karakterin en az n'iyle eşleşir
{n,m}Önceki karakterin n ile m arasında olanıyla eşleşir
[abc]Küme içindeki herhangi bir karakterle eşleşir
[^abc]Küme içinde olmayan herhangi bir karakterle eşleşir
(abc)Birden fazla token'ı bir araya toplar ve eşleşmeyi yakalar
a|bYa a ya da b ile eşleşir
\bBir kelime sınırı pozisyonuyla eşleşir

Regex Deseni Testi ve Doğrulayıcı

Giriş

Bir Düzenli İfade (regex) deseni testi, geliştiriciler, veri analistleri ve metin işleme ile çalışan herkes için temel bir araçtır. Bu kapsamlı regex deseni doğrulayıcı, düzenli ifadeleri gerçek zamanlı olarak oluşturmanıza, test etmenize ve geliştirmenize olanak tanır ve desen eşleşmeleri hakkında anında görsel geri bildirim sağlar. İster e-posta adreslerini doğruluyor, ister günlük dosyalarını ayrıştırıyor, ister metinden belirli verileri çıkarıyor olun, regex test aracımız geliştirme ve hata ayıklama sürecini daha hızlı ve sezgisel hale getirir.

Düzenli ifadeler, karmaşık metin arama, doğrulama ve manipülasyonunu mümkün kılan güçlü desen eşleştirme dizileridir. Ancak, sözdizimleri karmaşık ve ustalaşması zor olabilir. Bu regex deseni testi, yazarken eşleşmeleri vurgulayarak, desen sözdizimini doğrulayarak ve sık kullanılan desenleri gelecekteki referanslar için kaydetmenize olanak tanıyarak süreci basitleştirir.

Regex Deseni Test Cihazını Kullanma

Regex deseni doğrulayıcımızı kullanmak basit ve sezgiseldir. Başlamak için şu adımları izleyin:

  1. Bir Düzenli İfade Deseni Girin: Desen giriş alanına regex deseninizi yazın. Araç, deseninizi gerçek zamanlı olarak doğrular ve herhangi bir sözdizimi hatası hakkında sizi uyarır.

  2. Regex Bayraklarını Seçin: Deseniniz için uygun bayrakları seçin:

    • g (Küresel): İlk eşleşmeden sonra durmak yerine tüm eşleşmeleri bul
    • i (Büyük/Küçük Harf Duyarsız): Deseni büyük/küçük harf duyarsız hale getir
    • m (Çok Satırlı): ^ ve $ karakterlerinin her satırın başını/sonunu eşleştirmesini sağlar
    • Bu bayrakların çeşitli kombinasyonları açılır menüde mevcuttur
  3. Test Metni Girin: Deseninizi test etmek istediğiniz metni test metni alanına girin.

  4. Sonuçları Gerçek Zamanlı Olarak Görüntüleyin: Yazarken, araç otomatik olarak:

    • Test metninde tüm desen eşleşmelerini vurgular
    • Bulunan toplam eşleşme sayısını gösterir
    • Desenin tüm metni eşleştirip eşleştirmediğini belirtir
  5. Faydalı Desenleri Kaydedin: Sık kullandığınız desenler için:

    • Deseniniz için tanımlayıcı bir etiket girin
    • "Kaydet" butonuna tıklayın
    • "Kaydedilen Desenler" bölümünden kaydedilen desenlerinize erişin
  6. Sonuçları Kopyalayın: Tüm eşleşen metni panonuza kopyalamak için "Eşleşmeleri Kopyala" butonunu kullanın.

Arayüz, deseninizi ve test metninizi girdiğiniz giriş paneli ile eşleşmeleri ve desen bilgilerini görüntüleyen sonuç paneli olmak üzere iki ana panellere ayrılmıştır.

Düzenli İfade Temelleri

Düzenli ifadeler, arama desenlerini tanımlamak için özel karakterler ve diziler kullanır. İşte aracımız tarafından desteklenen temel regex sembollerine bir rehber:

Karakter Eşleşmesi

SembolAçıklamaÖrnekEşleşmeler
.Yeni satır hariç herhangi bir karakterle eşleşira.c"abc", "adc", "a1c", vb.
\dHerhangi bir rakamla (0-9) eşleşir\d{3}"123", "456", "789", vb.
\DHerhangi bir rakam olmayan karakterle eşleşir\D+"abc", "xyz", vb.
\wHerhangi bir kelime karakteriyle (a-z, A-Z, 0-9, _) eşleşir\w+"abc123", "test_123", vb.
\WHerhangi bir kelime olmayan karakterle eşleşir\W+"!@#", " + ", vb.
\sHerhangi bir boşluk karakteriyle eşleşira\sb"a b", "a\tb", vb.
\SHerhangi bir boşluk olmayan karakterle eşleşir\S+"abc", "123", vb.

Pozisyon Bağlayıcıları

SembolAçıklamaÖrnekEşleşmeler
^Satırın başıyla eşleşir^abcBir satırın başındaki "abc"
$Satırın sonuyla eşleşirabc$Bir satırın sonundaki "abc"
\bBir kelime sınırıyla eşleşir\bword\b"word" tam bir kelime olarak

Nicelik Belirleyicileri

SembolAçıklamaÖrnekEşleşmeler
*Önceki karakterin 0 veya daha fazlasıyla eşleşira*b"b", "ab", "aab", vb.
+Önceki karakterin 1 veya daha fazlasıyla eşleşira+b"ab", "aab", "aaab", vb.
?Önceki karakterin 0 veya 1 ile eşleşircolou?r"color", "colour"
{n}Önceki karakterin tam olarak n ile eşleşira{3}"aaa"
{n,}Önceki karakterin en az n ile eşleşira{2,}"aa", "aaa", "aaaa", vb.
{n,m}Önceki karakterin n ile m arasında eşleşira{2,4}"aa", "aaa", "aaaa"

Karakter Sınıfları

SembolAçıklamaÖrnekEşleşmeler
[abc]Parantez içindeki karakterlerden herhangi biriyle eşleşir[aeiou]"a", "e", "i", "o", "u"
[^abc]Parantez içindeki karakterlerden herhangi biriyle eşleşmeyen karakterle eşleşir[^aeiou]"a", "e", "i", "o", "u" hariç herhangi bir karakter
[a-z]Aralıktaki herhangi bir karakterle eşleşir[a-z]Herhangi bir küçük harf

Gruplama ve Alternatifler

SembolAçıklamaÖrnekEşleşmeler
(abc)Birden fazla tokeni bir araya getirir ve eşleşmeyi yakalar(abc)+"abc", "abcabc", vb.
a|bya a ya da b ile eşleşircat|dog"cat", "dog"

İleri Düzey Regex Desenleri

Temel bilgileri öğrendikten sonra, karmaşık metin işleme zorluklarını çözmek için daha sofistike desenler oluşturabilirsiniz:

E-posta Doğrulama

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Bu desen, e-posta adreslerinin standart biçimi olan kullanıcıadı@alanadı.tld formatına uygun olup olmadığını doğrular.

URL Doğrulama

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Bu desen, http/https protokolü ile veya olmadan URL'leri doğrular.

Telefon Numarası Doğrulama (ABD Formatı)

^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$

Bu desen, (123) 456-7890, 123-456-7890 veya 1234567890 gibi çeşitli formatlarda ABD telefon numaralarını eşleştirir.

Tarih Doğrulama (YYYY-AA-GG)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Bu desen, YYYY-AA-GG formatında tarihleri doğrular ve ay ve gün aralıkları için temel doğrulama yapar.

İleri Görme ve Geri Görme

İleri görme ve geri görme ifadeleri, yalnızca başka bir desenle takip ediliyorsa veya başka bir desenle önceden geliyorsa desenleri eşleştirmenizi sağlar:

  • Pozitif ileri görme: a(?=b) "a"yı yalnızca "b" ile takip ediliyorsa eşleştirir
  • Negatif ileri görme: a(?!b) "a"yı yalnızca "b" ile takip edilmiyorsa eşleştirir
  • Pozitif geri görme: (?<=a)b "b"yi yalnızca "a" ile önceden geliyorsa eşleştirir
  • Negatif geri görme: (?<!a)b "b"yi yalnızca "a" ile önceden gelmiyorsa eşleştirir

Regex Bayrakları ile Çalışma

Regex test aracımız, desenlerin nasıl eşleştiğini değiştiren çeşitli bayrakları destekler:

  • g (Küresel): İlk eşleşmeden sonra durmak yerine tüm eşleşmeleri bul
  • i (Büyük/Küçük Harf Duyarsız): Deseni büyük/küçük harf duyarsız hale getir
  • m (Çok Satırlı): ^ ve $ karakterlerinin her satırın başını/sonunu eşleştirmesini sağlar
  • Kombinasyonlar: Daha karmaşık eşleşme gereksinimleri için bayrakları birleştirebilirsiniz

Regex Deseni Testi için Kullanım Alanları

Düzenli ifadelerin farklı alanlarda birçok pratik uygulaması vardır:

Web Geliştirme

  1. Form Doğrulama: Kullanıcı girdilerinin gereken biçimlerle eşleştiğinden emin olun:

    • E-posta adresleri: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Şifreler (karmaşıklık gereksinimleri ile): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URL'ler: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. HTML Ayrıştırma: Belirli öğeleri veya nitelikleri çıkarın:

    • Tüm resim etiketlerini bulun: <img[^>]+src="([^">]+)"
    • Bağlantıları çıkarın: <a[^>]+href="([^">]+)"

Veri İşleme

  1. Günlük Dosyası Analizi: Günlük girişlerinden bilgi çıkarın:

    • IP adresleri: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Zaman damgaları: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Hata mesajları: ERROR: .*
  2. CSV Ayrıştırma: Alıntılanmış alanlarla birlikte virgülle ayrılmış değerleri işleyin:

    • CSV alan eşleştirici: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Metin İşleme

  1. Bul ve Değiştir: Değiştirme için desenleri tanımlayın:

    • HTML etiketlerini kaldırın: <[^>]*>
    • Telefon numaralarını biçimlendirin: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. İçerik Çıkarma: Yapısal olmayan metinden belirli bilgileri çıkarın:

    • Tarihleri çıkarın: \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
    • Para birimi değerlerini bulun: \$\d+(?:\.\d{2})?

Programlama ve Kodlama

  1. Sözdizimi Vurgulama: Dil yapılarını tanımlayın:

    • JavaScript değişkenleri: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Fonksiyon tanımları: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Kod Yeniden Yapılandırma: Güncellenmesi gereken desenleri bulun:

    • Eski API çağrıları: \.oldMethod\(
    • Güvensiz fonksiyonlar: eval\(

Desenleri Kaydetme ve Yönetme

Regex deseni test aracımız, sık kullandığınız ifadeleri kaydetme ve yeniden kullanma sistemi içerir:

Desenleri Ne Zaman Kaydetmeli

Sık kullandığınız desenleri kaydetmeyi düşünün:

  • Farklı projelerde sıkça kullandığınız
  • Hatırlaması zor olan karmaşık desenler
  • Çalışmanızda belirli doğrulama amaçlarına hizmet eden
  • Birkaç yinelemeden sonra geliştirdiğiniz

Desen Etiketleri için En İyi Uygulamalar

Desenleri kaydederken, tanımlayıcı etiketler kullanın:

  • Desenin amacını belirtin (örn. "E-posta Doğrulayıcı")
  • Belirli biçimleri belirtin (örn. "ABD Telefon Numarası")
  • Desenlerdeki değişiklikleri belirtmek için versiyon bilgisi ekleyin (örn. "URL Doğrulayıcı v2")
  • Kısa ama bilgilendirici olun

Desen Organizasyonu

Kaydedilen desenlerinizi şu şekilde organize edin:

  • İşlev (doğrulama, çıkarma, değiştirme)
  • Alan (web geliştirme, veri işleme)
  • Karmaşıklık (temel, ileri düzey)
  • Kullanım sıklığı

Desen Paylaşımı

Aracımız kullanıcılar arasında desen paylaşımını doğrudan desteklemese de:

  • Desenleri kopyalayarak meslektaşlarınızla paylaşabilirsiniz
  • Desenlerinizi paylaşılan bir havuzda belgeleyebilirsiniz
  • Proje belgelerinde desen açıklamalarını dahil edebilirsiniz

Yaygın Regex Sorunlarını Giderme

Deneyimli geliştiriciler bile düzenli ifadelerle zorluklarla karşılaşabilir. İşte yaygın sorunlara çözümler:

Sözdizimi Hataları

Deseniniz bir doğrulama hatası gösteriyorsa:

  • Eşleşmeyen parantez, köşeli parantez veya süslü parantez olup olmadığını kontrol edin
  • Özel karakterlerin doğru bir şekilde ters eğik çizgi ile kaçırıldığından emin olun
  • Nicelik belirleyicilerinin bir önceki karakter veya grup ile eşleştiğini doğrulayın
  • Geçersiz karakter sınıfı sözdizimi arayın

Performans Sorunları

Regex'in yavaş olduğu veya tarayıcı gecikmesine neden olduğu durumlarda:

  • İç içe nicelik belirleyicilerinin aşırı kullanımından kaçının (örn. (a+)+)
  • Büyük metinlerde ileri görme ve geri görme ifadelerine dikkat edin
  • Daha genel desenler yerine daha spesifik desenler kullanmayı düşünün
  • Karmaşık desenleri daha küçük, yönetilebilir parçalara ayırın

Beklenmeyen Eşleşmeler

Deseniniz istenmeyen metinlerle eşleşiyorsa:

  • Deseninizi tüm dizeleri eşleştirmek için bağlayıcılar (^ ve $) kullanın
  • Karakter sınıflarını daha spesifik hale getirin
  • Uygun yerlerde kelime sınırlarını (\b) ekleyin
  • Belirli desenleri hariç tutmak için negatif ileri görmeleri kullanın

Eşleşme Bulunamadı

Deseniniz beklenen metinle eşleşmiyorsa:

  • Büyük/küçük harf duyarlılığı sorunlarını kontrol edin (i bayrağını kullanmayı düşünün)
  • Özel karakterlerin doğru bir şekilde kaçırıldığından emin olun
  • Deseninizi önce basitleştirilmiş örneklerde test edin
  • Doğru karakter sınıflarını kullandığınızdan emin olun

Düzenli İfadeler için Alternatifler

Regex güçlüdür, ancak her metin işleme görevi için en iyi çözüm değildir:

Dize Yöntemleri

Basit metin işlemleri için yerel dize yöntemleri genellikle daha net ve daha verimlidir:

  • String.indexOf() alt dizeleri bulmak için
  • String.startsWith() ve String.endsWith() dize sınırlarını kontrol etmek için
  • String.split() temel tokenizasyon için

Özel Ayrıştırıcılar

Yapılandırılmış veri formatları için, özel ayrıştırıcılar daha sağlamdır:

  • JSON ayrıştırıcıları JSON verisi için
  • XML/HTML ayrıştırıcıları işaretleme dilleri için
  • CSV ayrıştırıcıları tablo verileri için

Doğal Dil İşleme (NLP)

Metin anlamını anlamak için, yalnızca desenler yerine:

  • Duygu analizi araçları
  • İsimli varlık tanıma
  • Konuşma parçası etiketleme

Alternatifleri Ne Zaman Seçmeli

Regex yerine alternatifleri düşünün:

  • Metin yapısı son derece düzenli ve basitse
  • Biçimi olan standart bir ayrıştırıcı mevcutsa
  • Anlamı anlamanız gerekiyorsa
  • Performans çok büyük metinler için kritikse

Sıkça Sorulan Sorular

Düzenli ifade nedir?

Düzenli ifade (regex), bir arama desenini tanımlayan karakter dizisidir. Bu desenler, dize arama, eşleştirme ve metin manipülasyonu işlemleri için kullanılabilir.

Neden bir regex deseni test cihazına ihtiyacım var?

Bir regex deseni testi, düzenli ifadeleri geliştirmenize ve hata ayıklamanıza yardımcı olur; eşleşmeler hakkında anında görsel geri bildirim sağlar, desen sözdizimini doğrular ve farklı desenler ve bayraklarla deneme yapmanıza olanak tanır.

Nokta veya yıldız gibi bir özel karakteri nasıl eşleştiririm?

Düzenli ifadelerde genellikle özel anlamı olan özel karakterleri eşleştirmek için, bunları ters eğik çizgi ile kaçırmalısınız. Örneğin, bir nokta eşleştirmek için \. kullanın.

Regex deseninde .* ile .*? arasındaki fark nedir?

.* mümkün olan en fazla karakteri eşleştiren açgözlü bir nicelik belirleyicisidir, oysa .*? mümkün olan en az karakteri eşleştiren tembel (açgözsüz) bir nicelik belirleyicisidir. Bu ayrım, en kısa eşleşmeyi bulmak istediğinizde önemlidir.

Bu regex test cihazını herhangi bir programlama dilindeki desenler için kullanabilir miyim?

Çoğu dilde çekirdek regex sözdizimi benzer olsa da, uygulamadaki ince farklılıklar vardır. Test cihazımız JavaScript'in regex motorunu kullanır, bu da birçok web diliyle uyumludur ancak Python, Java veya Perl gibi dillerdeki regex ile farklılıklar gösterebilir.

Regex ile bir dizenin tamamını nasıl doğrularım?

Bir dizenin tamamının bir desene eşleştiğini doğrulamak için, regex'in başında ^ ve sonunda $ bağlayıcısını kullanın. Örneğin, ^[0-9]+$ yalnızca tamamen rakamlardan oluşan dizeleri eşleştirir.

Yakalama grupları nedir ve nasıl kullanırım?

Parantez () ile oluşturulan yakalama grupları, eşleşen metnin belirli bölümlerini çıkarmanıza olanak tanır. Test cihazımızda, tüm eşleşmeleri, yakalanan gruplar dahil olmak üzere görebilirsiniz. Programlama dillerinde, genellikle bu yakalamalara eşleşme sonucunu indeksleyerek erişebilirsiniz.

Regex desenlerimi daha verimli hale nasıl getirebilirim?

Regex verimliliğini artırmak için: karakter sınıflarını spesifik tutun, gereksiz yakalama gruplarından kaçının (mümkünse yakalamayan grupları (?:...) kullanın), ileri görme/geri görme ifadelerinin aşırı kullanımından kaçının ve felaket geri dönüş desenlerinden (iç içe nicelik belirleyiciler gibi) uzak durun.

Kaçınılması gereken en yaygın regex hataları nelerdir?

Yaygın hatalar arasında: özel karakterleri kaçırmamak, desenlerin aşırı açgözlü olmasını sağlamak, desenleri bağlayıcılarla ( ^ ve $ ) eşleştirmeyi unutmamak ve bakımının zor olduğu karmaşık ifadeler yazmak bulunmaktadır.

Regex, HTML gibi iç içe yapıları işleyebilir mi?

Düzenli ifadeler, HTML veya XML gibi iç içe yapıları ayrıştırmak için uygun değildir. Basit HTML eşleştirmeleri için regex desenleri oluşturabilirsiniz, ancak karmaşık HTML işleme için genellikle özel bir HTML ayrıştırıcı kullanmak daha iyidir.

Referanslar

  1. Friedl, J. E. F. (2006). Düzenli İfadeleri Ustalıkla Kullanma. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Düzenli İfadeler Tarifnamesi. O'Reilly Media.
  3. "Düzenli ifade." Vikipedi, Wikimedia Vakfı, https://en.wikipedia.org/wiki/Regular_expression
  4. MDN Web Docs. "Düzenli İfadeler." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Öğren, Oluştur ve Test Et. https://regexr.com/

Bugün regex deseni test cihazımızı deneyin, metin işleme görevlerinizi basitleştirin, girdi biçimlerini doğrulayın ve yapılandırılmamış metinden anlamlı verileri çıkarın. İster düzenli ifadelerin temellerini öğrenen bir acemi olun, ister karmaşık desen eşleştirme üzerinde çalışan deneyimli bir geliştirici olun, aracımız, regex desenlerinizi verimli bir şekilde oluşturmanıza, test etmenize ve geliştirmenize olanak tanıyan özellikleri sunar.

Geri bildirim