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.