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

正規表現を使用してタグから href 値を抽出する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-10 06:19:40704ブラウズ

How to Extract href Values from  Tags Using Regular Expressions?

正規表現を使用して、<a> リンクの「href」値を検索します

HTML からのリンクの抽出は、通常、「(?>.?)」などの単純なパターンを使用して実行できます。ただし、このメソッドは、「href」属性を具体的に取得しようとする場合には不十分です。

この問題を解決するには、より正確な正規表現を使用して、<a> タグ内の「href」値を見つけます。有効なパターンは次のとおりです:

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

この正規表現は次のように機能します:

  • 開始 <a> タグを見つけます。
  • オプションは、任意の属性または「href」属性の前の空白と一致します。
  • 開始引用符 (単一または二重) をキャプチャします。
  • 引用符間の任意の文字と一致し、それらをグループとしてキャプチャします (これには、リンクされた URL が含まれます)。
  • 最後の引用符が最初の引用符と一致していることを確認してください。

この正規表現を使用すると、次のようにリンクから「href」値を抽出できます。

<code><a ....="" href="https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="http://https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="https://https://www.php.cn/link/3d7a8f67f51564c349478f7d52abee3b"></a></code>

ただし、この正規表現は、必須の「?」文字と「=」文字を含まないリンクにも一致することに注意することが重要です。これが問題となる場合は、追加のフィルタリングが必要になる場合があります。

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

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