タグを閉じてください!
その一方で、別のプロジェクトにも取り組んでいます。会社では新しい製品を開発する予定で、開発者が自分の書いているコードを自動でチェックできるようにするものです。あなたは、開いたすべての 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.____(____)))