开始使用免费开始使用

请把标签闭合!

与此同时,您正在处理另一个项目。公司将要开发一款新产品,用于帮助开发者自动检查他们正在编写的代码。您需要编写一个简短的脚本,检查每个开启的 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.____(____)))
编辑并运行代码