HTMLの文の中から<form ~ > タグの開始から終了までを別の変数に抜き出すということをやりたいのですが、正規表現で可能でしょうか?

今まではindex substrの組み合わせでやっていたのですが、長くなりすぎて効率的とはいえません。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

「.*」だと最長一致の文字列を取るため、複数<form>タグが現れるHTMLでは、個々のFormを抜き出すことができなくなるのでは?



ここは最短一致を取る「.*?」を使って

if( $a =~ /<form,*?>.*?<\/form>/i ) {
(以下同じ)

にした方がいいと思いますが。
    • good
    • 0

 可能です。



 変数 $a に文字列が入っていると仮定して、

  if ( $a =~ /\<from .*\>.*\<\/from\>/i ) {
   $b = $&;
  }

 これで、変数 $b に目的の文字列が入ります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報