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

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

Barbara Streisand
リリース: 2025-01-10 10:39:41
オリジナル
546 人が閲覧しました

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

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
}
ログイン後にコピー

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート