Regex Desen Test Aracı
Eşleşme Sonuçları
Sonuçları görmek için bir desen ve test metni girin
Deseni Kaydet
Eşleşme Sonuçları
Sonuçları görmek için bir desen ve test metni girin
Kaydedilen Desenler
Henüz kaydedilmiş desen yok
Regex Sembolleri Rehberi
.
Yeni satır hariç herhangi bir karakterle eşleşir\d
Herhangi bir rakamla (0-9) eşleşir\D
Herhangi bir rakam olmayan karakterle eşleşir\w
Herhangi bir kelime karakteriyle (a-z, A-Z, 0-9, _) eşleşir\W
Herhangi bir kelime olmayan karakterle eşleşir\s
Herhangi bir boşluk karakteriyle eşleşir\S
Herhangi 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 yakalara|b
Ya a ya da b ile eşleşir\b
Bir kelime sınırı pozisyonuyla eşleşirRegex 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:
-
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.
-
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 buli
(Büyük/Küçük Harf Duyarsız): Deseni büyük/küçük harf duyarsız hale getirm
(Ç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
-
Test Metni Girin: Deseninizi test etmek istediğiniz metni test metni alanına girin.
-
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
-
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
-
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
Sembol | Açıklama | Örnek | Eşleşmeler |
---|---|---|---|
. | Yeni satır hariç herhangi bir karakterle eşleşir | a.c | "abc", "adc", "a1c", vb. |
\d | Herhangi bir rakamla (0-9) eşleşir | \d{3} | "123", "456", "789", vb. |
\D | Herhangi bir rakam olmayan karakterle eşleşir | \D+ | "abc", "xyz", vb. |
\w | Herhangi bir kelime karakteriyle (a-z, A-Z, 0-9, _) eşleşir | \w+ | "abc123", "test_123", vb. |
\W | Herhangi bir kelime olmayan karakterle eşleşir | \W+ | "!@#", " + ", vb. |
\s | Herhangi bir boşluk karakteriyle eşleşir | a\sb | "a b", "a\tb", vb. |
\S | Herhangi bir boşluk olmayan karakterle eşleşir | \S+ | "abc", "123", vb. |
Pozisyon Bağlayıcıları
Sembol | Açıklama | Örnek | Eşleşmeler |
---|---|---|---|
^ | Satırın başıyla eşleşir | ^abc | Bir satırın başındaki "abc" |
$ | Satırın sonuyla eşleşir | abc$ | Bir satırın sonundaki "abc" |
\b | Bir kelime sınırıyla eşleşir | \bword\b | "word" tam bir kelime olarak |
Nicelik Belirleyicileri
Sembol | Açıklama | Örnek | Eşleşmeler |
---|---|---|---|
* | Önceki karakterin 0 veya daha fazlasıyla eşleşir | a*b | "b", "ab", "aab", vb. |
+ | Önceki karakterin 1 veya daha fazlasıyla eşleşir | a+b | "ab", "aab", "aaab", vb. |
? | Önceki karakterin 0 veya 1 ile eşleşir | colou?r | "color", "colour" |
{n} | Önceki karakterin tam olarak n ile eşleşir | a{3} | "aaa" |
{n,} | Önceki karakterin en az n ile eşleşir | a{2,} | "aa", "aaa", "aaaa", vb. |
{n,m} | Önceki karakterin n ile m arasında eşleşir | a{2,4} | "aa", "aaa", "aaaa" |
Karakter Sınıfları
Sembol | Açıklama | Örnek | Eş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
Sembol | Açıklama | Örnek | Eşleşmeler |
---|---|---|---|
(abc) | Birden fazla tokeni bir araya getirir ve eşleşmeyi yakalar | (abc)+ | "abc", "abcabc", vb. |
a|b | ya a ya da b ile eşleşir | cat|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
-
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 \.-]*)*\/?$
- E-posta adresleri:
-
HTML Ayrıştırma: Belirli öğeleri veya nitelikleri çıkarın:
- Tüm resim etiketlerini bulun:
<img[^>]+src="([^">]+)"
- Bağlantıları çıkarın:
<a[^>]+href="([^">]+)"
- Tüm resim etiketlerini bulun:
Veri İşleme
-
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: .*
- IP adresleri:
-
CSV Ayrıştırma: Alıntılanmış alanlarla birlikte virgülle ayrılmış değerleri işleyin:
- CSV alan eşleştirici:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- CSV alan eşleştirici:
Metin İşleme
-
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
- HTML etiketlerini kaldırın:
-
İç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})?
- Tarihleri çıkarın:
Programlama ve Kodlama
-
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*\(
- JavaScript değişkenleri:
-
Kod Yeniden Yapılandırma: Güncellenmesi gereken desenleri bulun:
- Eski API çağrıları:
\.oldMethod\(
- Güvensiz fonksiyonlar:
eval\(
- Eski API çağrıları:
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çinString.startsWith()
veString.endsWith()
dize sınırlarını kontrol etmek içinString.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
- Friedl, J. E. F. (2006). Düzenli İfadeleri Ustalıkla Kullanma. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Düzenli İfadeler Tarifnamesi. O'Reilly Media.
- "Düzenli ifade." Vikipedi, Wikimedia Vakfı, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Düzenli İfadeler." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- 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.