• ベストアンサー

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

cockyの回答

  • ベストアンサー
  • cocky
  • ベストアンサー率57% (232/402)
回答No.2

「.*」だと最長一致の文字列を取るため、複数<form>タグが現れるHTMLでは、個々のFormを抜き出すことができなくなるのでは? ここは最短一致を取る「.*?」を使って if( $a =~ /<form,*?>.*?<\/form>/i ) { (以下同じ) にした方がいいと思いますが。

関連するQ&A

  • 正規表現について

    あるファイルを読み込んで中に変数($xxx)が入っていたら 正規表現にて$xxxの値に変換する事は出来ますでしょうか? 試行錯誤しているのですが、上手くいかず困っています。 変数を正規表現にてマッチングさせるのも上手くいかないです。 ご教授お願いいたします。

    • 締切済み
    • PHP
  • 正規表現

    変数$aのなかに変数$bが含まれていたらをperlの正規表現であらわすと どのようになるのでしょうか?if($a=~ /$b/)ではうまくいかないのですか?

    • ベストアンサー
    • Perl
  • PHP 正規表現改行したい

    preg_match でHTMLタグを解析するために正規表現を組んでますが、正規表現部分が長すぎてソースがわかりづらいので機能に影響すること無く改行して見やすくする方法はありますか? もしくはHTMLのパースならこうした方がいいよ的アドバイスでも

    • ベストアンサー
    • PHP
  • 正規表現の書き方を教えてください

    正規表現の書き方を教えてください 膨大なサイトデータに含まれる、忍者ツールズのアクセス解析タグを 複数行置換ツールを使って、一気に削除したいです 正規表現を使えば、以下のアクセス解析タグを削除できると思うのですが どのように正規表現を使って記述すれば、いいのかわかりません ・アクセス解析タグ中の「15695600k」 ・リンク先(http://futoko.jpnz.jp、kateikyousi.rentalurl.net) ・アンカーテキスト(不登校 高校、家庭教師) は、タグによって変化する変数です ■忍者ツールズのアクセス解析タグのソース例 http://analyze.ninja-web.net/ ■使用する複数行置換ツール http://www.vector.co.jp/magazine/softnews/060905/n0609051.html ※このツールでできない場合は、用件を満たすツールを教えていただけますと幸いです よろしくお願いいたします

  • 正規表現について

    アメブロから独自ブログへ引越しを行うことになったのですが、 ペタしてね というリンク画像を毎ページに張り付けており、この画像リンクを一括で削除したいと思っています。 HTMLタグのパラメータが微妙にばらついており、正規表現の利用が必要かなと思っています。 専用のプラグインをインストールし、正規表現を利用して削除できることが分かったのですが、 正規表現の方法を数時間勉強してみましたが、結局どうすればいいのかわかりません・・・ 削除する画像リンクは以下のようなものです。 <a href="http://.........................."><img height="100" alt="ペタしてね" src="http://stat.ameba.jp/blog/ucs/img/decoPeta/pc/decoPeta_18.gif" width="100" /></a> width や hight がページによって微妙に違うようです。 どちらさまか、上記のようなタグをマッチングさせる正規表現を教えていただけませんでしょうか。

    • ベストアンサー
    • PHP
  • 正しい正規表現を教えてください

    お世話になります。 正規表現で次のように指定しているのですが、正確か自信がありませんので 正しい表記を教えてください。 1.全てのHTMLタグ <.*?> 2.「2012.1.1」または「2012.01.01」のような数字の羅列 (\d{4}).(\d{1,2}).(\d{1,2}) 3.「<img src="~」から始まる部分 <img src=" 4.「<div class="release">」を含む部分 <div class="release"> 5.HTMLタグと文字全て ^.*$ 全て色々なサイトで調べて表記したのですが、処理に時間がかかってて間違っている気がします。 yahoo!pipesのregexモジュールの部分で使用していて、デバッガーのTime takenに時間がかかっている場合、正しくない正規表現が原因らしいのです。 どうぞ宜しくお願いします。

    • ベストアンサー
    • PHP
  • 正規表現でタグの中を除く文字をマッチングするには

    正規表現でタグの中を除く文字をマッチングするしたいのですが 良い方法はありますでしょうか。 例えば <a>のタグの中にない、"あい"を"かき"に変換したい。 <a>あいうえお</a>あいうえお ↓ <a>あいうえお</a>かきうえお という様にしたいのです。 正規表現では向かない処理かも知れませんが、 良い書き方ありましたら教えてください。

    • ベストアンサー
    • Java
  • 正規表現について

    Htmlのタグの属性を正規表現を用いて取得しようとしています。 たとえば <font size="2" face="MS 明朝"> の場合、 "2"と "MS 明朝" を取得したいのですが、 以下のように定義を "="から始まり、空白か">"迄と定義した所、 pattern = Pattern.compile("=(.*?)[ >]"); としてマッチングした所、 "2"と "MS がとれてしまいました。 "(ダブルクォーテーションの中の[ >](空白等)は判定しないような 定義に出来るのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • .htaccessの正規表現

    Perlの正規表現なら少しだけ知っています。 .htaccessの正規表現で、 <Files xx.gif> と <Files 'xx.gif'> は同じですか? <Files "xx.gif"> だと変数展開の動作をしようとするために上記の2つより多少重くなりますか? *.gifとerr.logを1つの<File>タグで記述する場合はどう記述すればよいですか?

  • 正規表現による文字列の取得について

    こんにちわ。 正規表現でマッチした箇所を変数に取り込むためにはどのようにしたらよいのでしょう? HTMLのデータの中から情報を取り込みたいのですが、 PERLの場合は if($_ =~ />データ([0-9\.]+)<\/FONT>/){$value=$1;} のようなかんじでやれば「データ2005」という文字列から「2005」と取得できたものをvbではどのように記述すればいいのかわかりません。 VB初心者のため、あまりマトを得ていないかもしれませんが、よろしくお願いします。 説明不足があれば補足いたします。 参考サイトなどでも結構です。