ホームページ >バックエンド開発 >C++ >正規表現を使用してアンカー リンクから href 属性値を抽出する方法

正規表現を使用してアンカー リンクから href 属性値を抽出する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-10 10:39:41431ブラウズ

How to Extract href Attribute Values from Anchor Links Using Regular Expressions?

正規表現を使用してアンカー リンクの href 属性値を抽出します

HTML アンカー リンクから href 属性値を抽出するには、カスタム正規表現を使用できます。ここでは、お客様の特定のニーズに対する包括的な回答を示します:

指定した正規表現パターン「@(<a.>?>.?)」はアンカー リンクを識別しますが、href 値はキャプチャされません。これを実現するには、より具体的なパターンが必要です:

<code><a\s+(?:[^>]*?\s+)?href=(["'])(.*?)</code>

このモードは次のように分類されます:

  • <a は開始アンカー タグと一致します。
  • s (?:[^>]*?s )? は、アンカー タグ内の任意の空白およびオプションの属性 (非キャプチャ グループ) と一致します。
  • href= は href 属性と一致します。
  • (["'])(.*?)1 は、二重引用符または一重引用符の間にある href 値をキャプチャします (グループをキャプチャ)。

有効な URL をフィルタリング

無効な URL (「?」や「=」文字を含まない URL) を除外するには、次の正規表現を使用できます:

<code>page\.php\?id\=.*</code>

このパターンは、指定した基準に一致する文字列と一致します。

リンクされたリストから href 値を抽出します

アンカー タグを解析する必要がなくなったと述べました。これで、「href="abcdef"」形式のリンクのリストが作成されました。このリストから href 値を抽出するには、次を使用できます:

<code>"href=(['"])(.*?)</code>

このモードは、二重引用符または一重引用符で囲まれている場合でも、href 値をキャプチャします。

JavaScript コード スニペット

JavaScript でこれらの正規表現パターンを使用する方法を示すために、コード スニペットを次に示します。

<code class="language-javascript">const pattern = /<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)/;
const linkText = '<a href="www.example.com/page.php?id=xxxx&name=yyyy"></a>';
const match = pattern.exec(linkText);
if (match) {
  console.log(match[2]); // 输出:www.example.com/page.php?id=xxxx&name=yyyy
}</code>

以上が正規表現を使用してアンカー リンクから href 属性値を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。