请把标签闭合!
与此同时,您正在处理另一个项目。公司将要开发一款新产品,用于帮助开发者自动检查他们正在编写的代码。您需要编写一个简短的脚本,检查每个开启的 HTML 标签是否都正确闭合。
这里有一个包含 HTML 标签的字符串示例:
<title>The Data Science Company</title>
您知道,一个开启的 HTML 标签总是在字符串的开头,并且位于 <> 内。闭合标签也位于 <> 内,但前面会有一个 /。
您还记得可以使用数字引用捕获组,例如 \4。
列表 html_tags(包含 3 个带有 HTML 标签的字符串)和 re 模块已加载到当前会话中。您可以使用 print() 在 IPython Shell 中查看数据。
本练习是课程的一部分
Python 中的正则表达式
练习说明
- 完成正则表达式以匹配已闭合的 HTML 标签。对列表
html_tags中的每个字符串查找是否有匹配,并将结果赋给match_tag。 - 如果找到匹配,打印保存在
match_tag中的第 1 个捕获组。 - 如果未找到匹配,补充正则以仅匹配 HTML 标签内的文本,并将其赋给
notmatch_tag。 - 打印保存在
notmatch_tag中由该正则捕获的第 1 个分组。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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.____(____)))