Bir metin yığınından tüm e-postaları, telefonları veya tarihleri çekmeniz gerektiğinde regex (düzenli ifadeler) en güçlü araçtır. Korkutucu görünür ama temelleri basittir.

İlk eşleşme

import re

metin = "Iletisim: info@ornek.com veya destek@site.com"
epostalar = re.findall(r"[\w.]+@[\w.]+", metin)
print(epostalar)   # ['info@ornek.com', 'destek@site.com']

Sık kullanılan kalıplar

  • \d → bir rakam, \d+ → bir veya daha fazla rakam
  • \w → harf/rakam, \s → boşluk
  • . → herhangi bir karakter, + → bir veya daha fazla tekrar
  • ( ) → yakalama grubu (istediğiniz parçayı ayırır)

Telefon numarası çekmek

import re

metin = "Ara: 0532 123 45 67 acil: 0850 000 11 22"
telefonlar = re.findall(r"0\d{3}\s?\d{3}\s?\d{2}\s?\d{2}", metin)
print(telefonlar)
💡

Karmaşık bir kalıbı denemek için regex101.com sitesini kullanın; yazdığınız ifadeyi anlık test edip açıklamasını gösterir.

Regex, web scraping ve OCR gibi düzensiz veriyle uğraşan her işte hayat kurtarır. Birkaç kalıbı ezberlemek bile işinizi çok hızlandırır.