Uzavři značku, prosím!
Mezitím pracuješ na jednom ze svých dalších projektů. Firma se chystá vyvinout nový produkt, který pomůže vývojářům automaticky kontrolovat kód, který píší. Tvým úkolem je napsat krátký skript, který ověří, že každá otevřená HTML značka má správné uzavření.
Máš k dispozici příklad řetězce obsahujícího HTML značky:
<title>The Data Science Company</title>
Otevírací HTML značka se vždy nachází na začátku řetězce a je uzavřena do <>. Uzavírací značka je také uvnitř <>, ale předchází jí /.
Nezapomeň, že na zachycené skupiny se lze odkazovat pomocí čísel, například \4.
Seznam html_tags obsahující tři řetězce s HTML značkami a modul re jsou v tvé session již načteny. Data si můžeš prohlédnout pomocí print() v IPython Shellu.
Toto cvičení je součástí kurzu
Regular Expressions in Python
Pokyny k cvičení
- Doplň regulární výraz tak, aby odpovídal uzavřeným HTML značkám. Ověř, zda každý řetězec v seznamu
html_tagsodpovídá vzoru. Výsledek přiřaď do proměnnématch_tag. - Pokud je shoda nalezena, vypiš první zachycenou skupinu uloženou v
match_tag. - Pokud shoda nalezena není, doplň regulární výraz tak, aby zachytil pouze text uvnitř HTML značky. Výsledek přiřaď do
notmatch_tag. - Vypiš první skupinu zachycenou regulárním výrazem a uloženou v
notmatch_tag.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.____(____)))