HTMLからリンクや画像URLを抽出したい | 正規表現 | JavaScript 目的別リファレンス

スポンサーリンク

このプログラムでは、JavaScriptの正規表現を使用して、HTMLからリンク(href)や画像(src)のURLを抽出します。

スポンサーリンク

リンクや画像URL抽出プログラム

以下のコードでは、以下のHTML内にあるリンクと画像のURLを抽出しています。

<a href=”https://example.com”>リンク</a>
<img src=”https://example.com/image.jpg” alt=”画像”>
<a href=”https://another.com”>別のリンク</a>

HTMLとJavaScriptコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>HTMLからリンクや画像URLを抽出する方法</title>
    <script>
        window.onload = function() {
            // HTMLからリンクや画像のURLを抽出する関数
            function extractURLs(html) {
                // リンク(href)と画像(src)のURLを抽出する正規表現
                const pattern = /(?:href|src)="([^"]+)"/g;
                const matches = [];
                let match;
                // 正規表現にマッチする全てのURLを抽出
                while ((match = pattern.exec(html)) !== null) {
                    matches.push(match[1]);  // URLを配列に追加
                }
                return matches;
            }

            // テスト用のHTML文字列
            const htmlString = `
                <a href="https://example.com">リンク</a>
                <img src="https://example.com/image.jpg" alt="画像">
                <a href="https://another.com">別のリンク</a>
            `;

            // HTMLからリンクや画像のURLを抽出
            const result = extractURLs(htmlString);

            // 結果をHTMLに表示
            document.getElementById('result').textContent = result.join(', ');
        }
    </script>
</head>
<body>

    <h1>HTMLからリンクや画像URLを抽出する方法</h1>

    <div id="result"></div>

</body>
</html>

プログラムの解説

このプログラムでは、正規表現を使ってHTMLからリンクや画像のURLを抽出しています。正規表現パターン/(?:href|src)="([^"]+)"/gは、hrefまたはsrc属性にマッチし、その中のURL部分を抽出します。

以下はexec()メソッドおよび正規表現に関する注意点です。

  • exec()メソッドは、正規表現に一致する部分を1つずつ返し、gフラグを使用することで、複数の一致結果を反復処理できます。
  • リンク(href)と画像(src)を同時に抽出するために、(?:href|src)という非キャプチャグループを使用しています。
  • 正規表現はシンプルな構造のHTMLでは効果的ですが、より複雑なHTML構造には注意が必要です。

RegExpオブジェクト メソッドの機能一覧

RegExpオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのRegExpオブジェクトは、正規表現を使用して文字列のパターンを検出、操作するためのオブジェクトです。以下に、RegExpオブジェクトのメソッドをインスタンスメソッドと静的メソッドに分け、アルファベット順にまとめています。RegExpオブジェクトのインスタンスメソッド メソッド名 説明と注意点 R...

Stringオブジェクト メソッドの機能一覧

Stringオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのStringオブジェクトは、文字列を操作するための強力なオブジェクトです。文字列はJavaScriptにおいて非常に重要なデータ型であり、文字の並びを表します。Stringオブジェクトは、プリミティブな文字列をラップするオブジェクトであり、文字列に対するさまざまな操作を行うメソッドを提供します。た...