-PR-
解決済み

正規表現での文字の抜き出し

  • すぐに回答を!
  • 質問No.52005
  • 閲覧数787
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 25% (14/54)

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

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

よろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 57% (232/402)

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

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

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

にした方がいいと思いますが。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1

 可能です。

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

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

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


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ