• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLタグの中味抽出)

HTMLタグの中味抽出について

このQ&Aのポイント
  • HTMLのタグの中味を抽出する正規表現について学んだが、その動作原理に疑問がある。
  • 処理対象の文字列が末尾の > より前の部分となるのではないかと考えたが、実際の結果と異なる。
  • 正規表現の動作原理を正確に理解するため、詳しい説明を求めている。

質問者が選んだベストアンサー

  • ベストアンサー
  • y_shimizu
  • ベストアンサー率41% (27/65)
回答No.1

言葉で説明しにくいのですが、 (1)[^<] → <じゃない文字 (2)+? →直前の文字繰り返し (3)(?=>) → 次が> なので <tag_nakami_1><tag_nakami_2>title_text</tag_nakami_1> の<tag_nakami_2>までマッチしたら、 次は t を見る、(1)に合致するので、マッチしてるかもしれない文字列はt 次は i を見る、(1)に合致するので、マッチしてるかもしれない文字列はti これをtitle_textまで繰り返して 次は < を見る、(1)に合致しないので、マッチしてるかもしれない文字列はクリア 次は / を見る、(1)に合致するので、マッチしてるかもしれない文字列は/ これをtag_nakami_1まで繰り返して 次は > を見る、(3)に合致するので、マッチここまでの文字列 /tag_nakami_1 はマッチしている みたいなかんじです。

wine38
質問者

お礼

ご説明ありがとうございました。 正規表現の処理の仕方をちゃんと理解していなかったんですね、私は……。 てっきり、「先読みの条件までの文字列全体」を抽出してそれに対して処理を加えるものだと思い込んでいましたが、正規表現自体は文字列全体が何であるかは知らず、あくまで前から一文字ずつ条件に合致するかを見ていき、条件に合わない箇所が出たらそこまでの処理結果は破棄する、ということなのですね。 目からウロコが落ちました。 ありがとうございました!

関連するQ&A