Yeni Başlayanlar İçin Normal İfadeler: Desen Eşleştirme Basitleştirildi

Düzenli ifadeler (regex), tüm önemli programlama dillerinde desteklenen kalıp eşleştirme dilleridir. 15-20 temel kavramda uzmanlaşmak, e-posta doğrulama, URL çıkarma, telefon numarası biçimlendirme ve veri temizleme için normal ifadeler yazmanıza olanak tanır.

Regular expression pattern diagram with labeled components and match highlighting

Normal İfadeler Nedir?

Normal ifade (regex veya regexp), bir arama modelini tanımlayan bir karakter dizisidir. Neredeyse her programlama dilinde yerleşik olarak bulunurlar ve şu amaçlarla kullanılırlar:

  • Doğrulama: Bu dize geçerli bir e-posta adresi kalıbıyla eşleşiyor mu?
  • Arama: Bu 10.000 kelimedeki tüm telefon numaralarını bul belge.
  • ]
  • Değiştirme: "Renk" ifadesinin tüm geçişlerini "renk" ile değiştirin.
  • Çıkartma: Tüm URL'leri bir bloktan çekin HTML.
  • Bölme: Bir dizeyi virgüllerle ayırın, ancak tırnak içindeki virgülleri bölmeyin.
  • ]

Temel Meta Karakterler ve Eşleştikleri

Regular expression metacharacters and quantifiers quick reference cheatsheet

KarakterEşleşmelerÖrnek
.Herhangi biri yeni satır hariç tek karakterc.t "kedi", "karyola" ile eşleşir, "kes"
dHerhangi bir rakam (0–9)ddd eşleşmeleri "123"
wKelime karakteri (A-Z, a-z, 0-9, _)w+ eşleşmeler "hello_world"
sBoşluk (boşluk, sekme, satırsonu)s+ herhangi biriyle eşleşir boşluk
D RakamsızD+ "merhaba"
WKelime olmayan kelimeyle eşleşir karakterW, "!" ile eşleşir veya ","
SBoşluksuz

Kaçış: Gerçek bir meta karakterle eşleştirmek için, \ ile kaçış. Değişmez bir . ile eşleştirmek için, \.

kullanın.

Niteleyiciler: Tekrarlanan Desenler

Regex flags comparison showing global g, case-insensitive i, and multiline m flags

]
Nicelik belirteciAnlamÖrnek
*0 veya daha fazlası (açgözlü)ab*c "ac", "abc" ile eşleşir, "abbc"
+1 veya daha fazla (açgözlü)ab+c "abc", "abbc" ile eşleşir ancak eşleşmez "ac"
?0 veya 1 (isteğe bağlı)renk "renk" ile eşleşir ve "renk"
{n}Tam olarak n kered{4} tam olarak 4 ile eşleşiyor rakamlar
{n,m}n ve m arasında kered{3,5} 3, 4 veya 5 ile eşleşir haneler
*?0 veya daha fazla (lazy)Şu şekilde eşleşir: mümkün olduğu kadar az
+?1 veya daha fazla (tembel)Eşleşmeler mümkün olduğu kadar az

Karakter Sınıfları ve Sabitler

Regex capture group extraction breakdown showing isolated substring matching

Karakter sınıfları [...]: Bir kümedeki herhangi bir karakterle eşleşir.

  • [aeiou] — herhangi bir sesli harfle eşleşir
  • [A-Z] — herhangi bir büyük harf harf
  • [0-9] — herhangi bir rakam (şununla aynı) d)
  • [^aeiou] — sesli harf OLMAYAN herhangi bir karakter (olumsuzlama)

Bağlayıcılar: Karakterleri değil, konumları eşleştirin.

  • ^ — dizenin başlangıcıyla eşleşir
  • $ — dizenin sonuyla eşleşir string
  • — kelime sınırıyla eşleşir

Pratik Regex: E-posta, Telefon, URL Modelleri

ToolDolfen in-browser regular expression tester and debugger pipeline

Five essential production regex patterns for email, date, URL, and phone numbers

Temel e-posta doğrulaması:

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

ABD telefon numarası (birden fazla biçim):

^(\+1)?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

Metinden URL çıkarma:

https?:\/\/[\w\-]+(\.[\w\-]+)+[/#?]?[\w\-._~:/?#[\]@!$&'()*+,;=%]*

Ücretsiz, istemci tarafı Regex Test Aracı (Regex Tester)'ı ve anında eşleşme vurgulamayı kullanarak tüm bu kalıpları gerçek zamanlı olarak test edin ve hata ayıklayın.

Önerilen Yardımcı Kılavuzlar

Dijital iş akışınızı geliştirmek için bu konu kümesindeki tamamlayıcı eğitimleri ve yardımcı programları keşfedin:

EXIF Verilerini Anlamak: Fotoğraflarınız Kamera, Zaman ve Konum Hakkında Neleri Ortaya ÇıkarıyorDoğrulanmış standartlar ve tarayıcı içi ile pratik, adım adım eğitim iş akışları.Üst Düzey Fotoğraf Gizliliği Kılavuzu: Paylaşmadan Önce GPS ve EXIF Meta Verilerini SoyunDoğrulanmış standartlar ve tarayıcı içi ile pratik adım adım eğitim iş akışları.Telif Hakkı Koruması için Fotoğraflara Filigran Ekleme: Metin ve Logo Yer PaylaşımlarıDoğrulanmış standartlar ve tarayıcı içi ile pratik adım adım eğitim iş akışları.]Kaliteyi Kaybetmeden Görüntüleri Çevrimiçi Olarak Sıkıştırmaİlgili verileri ve medyayı birbirine bağlayan tamamlayıcı çapraz formatlı iş akışı araçlar.
Önerilen Yardımcı Program: Regex Test AracıBu iş akışını, sıfır sunucu yüklemesi ve %100 istemci tarafı gizlilik ile tarayıcınızda canlı olarak yürütün.
Regex Test Aracı (Regex Tester)
Regex Test Aracı (Regex Tester)

Sıkça Sorulan Sorular

Bu iş akışıyla ilgili yaygın sorulara hızlı ve doğrulanmış yanıtlar bulun.

Düzenli ifadeler tüm programlama dillerinde aynı mıdır?

Çekirdek sözdizimi büyük ölçüde standartlaştırılmıştır (Perl uyumlu düzenli ifadeler PCRE'ye dayalıdır), ancak uygulamalar uç durumlarda farklılık gösterir. JavaScript, Python, Ruby ve PHP birbirine çok benzer. JavaScript eski motorlarda geriye dönük destekten yoksundur; Python adlandırılmış gruplar için (?P<name>...) kullanır; mevcut bayraklar diller arasında farklılık gösterir.

Regex varsayılan olarak büyük/küçük harfe duyarlı mıdır?

Evet, regex varsayılan olarak büyük/küçük harfe duyarlıdır. Büyük/küçük harfe duyarlı olmayan eşleştirmeyi etkinleştirmek için, JavaScript'te i bayrağını kullanın: /pattern/i, Python'da re.IGNORECASE veya SQL'de büyük/küçük harfe duyarlı olmayan harmanlamayla REGEXP_REPLACE.

Açgözlü ve tembel niceleyiciler arasındaki fark nedir?

Açgözlü niceleyiciler (* + ?), genel modelin eşleşmesine izin verirken mümkün olduğu kadar eşleşir. Tembel niceleyiciler (*? +? ??) mümkün olduğu kadar az eşleşir. Örnek: '<b>kalın</b>' metniyle, <.*> dizenin tamamıyla (açgözlü) eşleşirken, <.*?> yalnızca '<b>' (tembel) ile eşleşir.

Bilal Ahmad