Регулярные выражения возвращают 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 шт):
Если я правильно понял смысл, то требуется написать скрипт, который будет фильтровать некорректные варианты 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)))
Прошу обратить внимание на аргументы, которые принимает функция. Первый аргумент - это наше регулярное выражение, а второй - данные с клавиатуры.