ÎncepețiÎncepe gratuit

Închide tag-ul, te rog!

Între timp, lucrezi la unul dintre celelalte proiecte ale tale. Compania urmează să dezvolte un produs nou, care îi va ajuta pe dezvoltatori să verifice automat codul pe care îl scriu. Trebuie să scrii un script scurt care să verifice că fiecare tag HTML deschis are și perechea sa de închidere.

Ai la dispoziție un exemplu de șir de caractere cu tag-uri HTML:

<title>The Data Science Company</title>

Afli că un tag HTML de deschidere se află întotdeauna la începutul șirului și apare în interiorul <>. Un tag de închidere apare și el în interiorul <>, dar este precedat de /.

Îți amintești, de asemenea, că grupurile de captură pot fi referențiate prin numere, de exemplu \4.

Lista html_tags, care conține trei șiruri cu tag-uri HTML, și modulul re sunt deja încărcate în sesiunea ta. Poți folosi print() pentru a vizualiza datele în IPython Shell.

Acest exercițiu face parte din cursul

Expresii regulate în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează expresia regex pentru a identifica tag-urile HTML închise corect. Verifică dacă există o potrivire în fiecare șir din lista html_tags. Atribuie rezultatul variabilei match_tag.
  • Dacă se găsește o potrivire, afișează primul grup capturat și salvat în match_tag.
  • Dacă nu se găsește nicio potrivire, completează expresia regex pentru a extrage doar textul din interiorul tag-ului HTML. Atribuie-l variabilei notmatch_tag.
  • Afișează primul grup capturat de expresia regex și salvat în notmatch_tag.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.____(____)))
Editează și rulează codul