問題4:HTMLのマッチング

HTMLを解析する堅牢な方法を探している場合、今日のインターネット上のHTMLページの脆弱性のために、正規表現は通常答えではありません。例えば、終了タグの欠落、タグの不一致、属性の引用符の閉じ忘れなどの一般的な間違いは、完璧な正規表現をすべて混乱させるでしょう。代わりに、Beautiful Soupまたはhtml5lib(どちらもPython)やphpQuery(PHP)などのライブラリを使用できます。これらのライブラリは、HTMLを解析するだけでなく、DOMを迅速かつ簡単に移動することもできます。

とは言え、エディターでタグやタグの内容をすばやくマッチさせたい場合や、入力に自信がある場合は、正規表現がこれを行うのに適したツールです。以下の例でわかるように、余分なエスケープされた引用符を持つ奇妙な属性やネストされたタグに注意する必要があるかもしれません。

以下の例について、正規表現を記述してください。

演習4:HTMLタグのキャプチャ
タスク テキスト キャプチャグループ  
キャプチャ <a>これはリンクです</a> a To be completed
キャプチャ <a href='https://regexone.dokyumento.jp'>リンク</a> a To be completed
キャプチャ <div class='test_style'>テスト</div> div To be completed
キャプチャ <div>こんにちは<span>世界</span></div> div To be completed
解決策

HTMLを解析するには適切なライブラリを使用するのがベストプラクティスですが、単純なタグ名を見つけるには、<(\w+)という式を使用できます。

タグの内容をキャプチャすることもできます。>([\w\s]*)<、または必要に応じて属性値='([\w://.]*)'もキャプチャできます(ただし、この問題の目標ではありません)。

上記のタスクを解決して次の問題に進むか、解決策を読んでください。