НачатьНачать бесплатно

Закройте тег, пожалуйста!

Пока что вы работаете над одним из своих проектов. Компания планирует выпустить новый продукт, который поможет разработчикам автоматически проверять написанный код. Вам нужно написать небольшой скрипт, который проверяет, что каждый открытый HTML-тег имеет соответствующий закрывающий тег.

Вот пример строки с HTML-тегами:

<title>The Data Science Company</title>

Открывающий HTML-тег всегда находится в начале строки и заключён в <>. Закрывающий тег также заключён в <>, но предваряется символом /.

Помните, что захваченные группы можно использовать по номеру, например \4.

В вашей сессии уже загружены список html_tags, содержащий три строки с HTML-тегами, а также модуль re. Вы можете использовать print() для просмотра данных в оболочке IPython.

Это упражнение является частью курса

Регулярные выражения в Python

Посмотреть курс

Инструкции к упражнению

  • Дополните регулярное выражение так, чтобы оно находило закрытые HTML-теги. Проверьте наличие совпадения в каждой строке списка html_tags. Сохраните результат в переменную match_tag.
  • Если совпадение найдено, выведите первую захваченную группу из match_tag.
  • Если совпадение не найдено, дополните регулярное выражение так, чтобы оно извлекало только текст внутри HTML-тега. Сохраните результат в переменную notmatch_tag.
  • Выведите первую захваченную группу из notmatch_tag.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

for string in html_tags:
    # Complete the regex and find if it matches a closed HTML tags
    match_tag =  re.match(____"<____>.*?", ____)
 
    if match_tag:
        # If it matches print the first group capture
        print("Your tag {} is closed".format(match_tag.____(____))) 
    else:
        # If it doesn't match capture only the tag 
        notmatch_tag = re.match(____"<____>", ____)
        # Print the first group capture
        print("Close your {} tag!".format(notmatch_tag.____(____)))
Редактировать и запускать код