import re

# re.search(pattern, string) Szuka pierwszego zgadzającego się tekstu.
# re.search(pattern, string) Sprawdza czy początek tekstu się zgadza
# re.findall(pattern, string) Zwraca liste wszystkich fragmentów tekstu które pasują
# re.sub(pattern, repl, string) Zamiena wszystkie zgadzające sie teksty z repl

# Czym jest pattern?

# Najprostrze: abc = znajdzie mi ciąg dokładnie abc
# Metaznaki:
# . - dopasowuje dowolną znak z wyjątkiem nowej linii
# \d - dopasowuje alfanumer dowolną cyfrę (0-9)
# \w - dopasowuje dowolny znakyczny (litera, cyfra, znak podkreślenia)
# \s - wykrywa dowolny znak biały (spacja, tabulator, nowa linia)
# \b - dopasowuje granice słowa
# ^ - dopasowuje początek ciągu lub linii
# $ - dopasowuje koniec ciągu lub linii

# Kwantyfikator
# * - dopasowuje zero, lub więcej wystąpień poprzedniego wyrażenia
# + - dopasowuje jedno lub więcej wystąpień
# ? - dopasowuje zero lub jedno wystąpienie
# {m,n} - dopasowuje od m do n wystąpień

# Klasa Znaków
# [a-z] - dopasowuje dowolną mała literę alfabetu
# [0-9]
# [A-Z]

# zdanie = "Ala i Kuba jadą na wycieczkę do Warszawy 💀"
# result = re.findall(r"\b[A-Z][a-z]+", zdanie)
# print(f"Wyszukiwanie wyrazów z dużej litery, wykryto: {result}")

# text = "Valorant jest najlepsza strzelanka na świecie"
# pattern = "Valorant"
# replacement = "Call Of Duty"
# new_text = re.sub(pattern, replacement, text)
# print(new_text)

# zdanie = "Ucz sie programowania w języku python3"
# pattern = r"\d"
# result = re.search(pattern, zdanie)
# if result is not None:
#     print(f"W zdaniu {zdanie} występuje cyfra")
# else:
#     print(f"W zdaniu {zdanie} nie występuje cyfra")

# zdanie = "Juliusz Słowacki herbu Leliwa (ur. 4 września 1809 w Krzemieńcu, zm. 3 kwietnia 1849 w Paryżu[1]) - polski poeta, dramaturg i epistolograf. Obok Adama Mickiewicza i Zygmunta Krasińskiego określany jako jeden z polskich wieszczów narodowych. Twórca filozofii genezyjskiej (pneumatycznej), epizodycznie związany z mesjanizmem polskim, był też mistykiem. Obok Adama Mickiewicza uznawany powszechnie za największego przedstawiciela polskiego romantyzmu."
# # pattern = r"\d+\s\w+\s\d{4}"
# pattern = r"\d{4}"
# result = re.sub(pattern, "2137", zdanie)
# print(result)

# zdanie = "Dzisiaj jest 02-06-2025, a jutro będzie 03-06-2025"
# pattern = r"\d{2}-\d{2}-\d{4}"
# result = re.findall(pattern, zdanie)
# print(result)

# zdanie = "Start speedrun of script legends sigma banana on the sigmaness with no rizz and not very fast like sanic wow noooo bombardiro crocodilo"
# pattern = r"\b\w*(?:[aeiouy]\w*){3,}\b"
# result = re.findall(pattern, zdanie, re.IGNORECASE)
# print(result)

with open("dane.txt", "r", encoding="utf-8") as file:
    data = file.read()

# print(data)

# 1 Mail
pattern = r"[a-zA-Z0-9._]+@[a-z]+.[a-z]+"
result = re.findall(pattern, data)
print(result)