import re
# You can switch this with your file data
example_emails = ['testUwuw@gmail.com', 'FirstLast@email.com', 'FLast@email.com']
for email in example_emails:
if re.match(r'[\w\.-]+@[\w\.-]+', email):
print("Found email:" + email)
# Split string on char @
# Example input:
# testUwu@gmail.com
# Output:
# ['testUwu', 'gmail.com']
split_email = email.split('@')
# Split string on uppercase letters
credentials = re.findall('[a-zA-Z][^A-Z]*', split_email[0])
print("First name:" + credentials[0])
print("Last name:" + credentials[1])
print ("Domain:" + split_email[1])
# Newline for nicer output formatting
print("\n")
Пример вывода:
Found email:FirstLast@email.com
First name:First
Last name:Last
Domain:email.com
Found email:FLast@email.com
First name:F
Last name:Last
Domain:email.com
Этот пример кода будет работать только и только с вашими 2 форматами электронной почты.
Обратите внимание, что вам, вероятно, следует использовать некоторую обработку исключений в случае, если некоторые другие форматы включаются, например, Test@gmail.com
вызовет исключение IndexError, поскольку программа ожидает 2 заглавных слова. Также для слов с более чем двумя заглавными буквами код будет игнорировать все буквы, которые идут после второй заглавной буквы.
Это некоторые из заметок, о которых я хотел бы, чтобы вы знали, если вы уверены, что у вас есть только эти два формата, это должно работать нормально.