Î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
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 variabileimatch_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.____(____)))