Регулярные выражения возвращают true/false

Я хочу, чтоб программа возвращала не только "True", но и "False"( при некорректном вводе емэйла). Мне хотелось это сделать через регулярные выражение (хотя мы их ещё не проходили и у меня о них не очень хорошие представления). Я нашла в интернете вот такой код:

import re
welcome = "hi"
text = "abcdefghijkl"
print(bool(re.search(welcome, text)))

Захотела адаптировать для своей ситуации, но он перестал работать. Почему?!

import re
symbols = ("", "@", ".@")
email = str(input())
print(bool(re.search(symbols, email)))

Ответы (1 шт):

Автор решения: Extend

Если я правильно понял смысл, то требуется написать скрипт, который будет фильтровать некорректные варианты email. Итак, начнем с того, что сформируем регулярное выражение, и присвоим его переменной reg:

reg = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+$'

Следующим шагом создадим переменную, которая будет хранить данные, вводимые с клавиатуры (наш email адрес):

email = str(input())

Далее выводим в консоль результат проверки email используя re.search():

print(bool(re.search(reg, email)))

Прошу обратить внимание на аргументы, которые принимает функция. Первый аргумент - это наше регулярное выражение, а второй - данные с клавиатуры.

→ Ссылка