サブキャプチャグループ
(.*)
HTMLを解析する堅牢な方法を探している場合、今日のインターネット上のHTMLページの脆弱性のために、正規表現は通常答えではありません。例えば、終了タグの欠落、タグの不一致、属性の引用符の閉じ忘れなどの一般的な間違いは、完璧な正規表現をすべて混乱させるでしょう。代わりに、Beautiful Soupまたはhtml5lib(どちらもPython)やphpQuery(PHP)などのライブラリを使用できます。これらのライブラリは、HTMLを解析するだけでなく、DOMを迅速かつ簡単に移動することもできます。
とは言え、エディターでタグやタグの内容をすばやくマッチさせたい場合や、入力に自信がある場合は、正規表現がこれを行うのに適したツールです。以下の例でわかるように、余分なエスケープされた引用符を持つ奇妙な属性やネストされたタグに注意する必要があるかもしれません。
以下の例について、正規表現を記述してください。
| タスク | テキスト | キャプチャグループ | |
| キャプチャ | <a>これはリンクです</a> | a | ![]() |
| キャプチャ | <a href='https://regexone.dokyumento.jp'>リンク</a> | a | ![]() |
| キャプチャ | <div class='test_style'>テスト</div> | div | ![]() |
| キャプチャ | <div>こんにちは<span>世界</span></div> | div | ![]() |
| 解決策 | HTMLを解析するには適切なライブラリを使用するのがベストプラクティスですが、単純なタグ名を見つけるには、<(\w+)という式を使用できます。 タグの内容をキャプチャすることもできます。>([\w\s]*)<、または必要に応じて属性値='([\w://.]*)'もキャプチャできます(ただし、この問題の目標ではありません)。 |