始める無料で始める

タグを閉じてください!

その一方で、別のプロジェクトにも取り組んでいます。会社では新しい製品を開発する予定で、開発者が自分の書いているコードを自動でチェックできるようにするものです。あなたは、開いたすべての HTML タグに正しい閉じタグがあるかを確認する短いスクリプトを書く必要があります。

HTML タグを含む文字列の例があります:

<title>The Data Science Company</title>

開きの HTML タグは常に文字列の先頭にあり、<> の中に現れます。閉じタグも <> の中にありますが、先頭に / が付きます。

また、キャプチャグループは数字で参照できることも思い出しました。例: \\4

3 つの HTML タグを含む文字列からなるリスト html_tags と、re モジュールがセッションに読み込まれています。IPython Shell でデータを見るには print() を使えます。

この演習はコースの一部です

Pythonで学ぶ正規表現

コースを見る

演習の手順

  • 閉じた HTML タグにマッチするように正規表現を完成させてください。リスト html_tags の各文字列でマッチがあるかを調べ、結果を match_tag に代入します。
  • マッチが見つかった場合は、match_tag に保存された最初のキャプチャグループを出力します。
  • マッチが見つからない場合は、HTML タグ内のテキスト部分のみにマッチするように正規表現を完成させ、notmatch_tag に代入します。
  • 正規表現でキャプチャした最初のグループを出力し、その結果を notmatch_tag に保存します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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.____(____)))
コードを編集して実行