• ベストアンサー

Perlの正規表現について

pipipi523の回答

  • pipipi523
  • ベストアンサー率40% (148/365)
回答No.1

HTMLの記述を見ながら直せばOKではないでしょうか? とりあえずこんな感じでどうでしょう #total ユーズド、コレクターズ、新品の3種類がある。 if($_ =~ /全(\d*)商品/ ){ push @total, $1; } #title if($_ =~ /title>.+:\s*(.*)<\/title/ ){ $title = $1; } #price if($_ =~ /price[^>]*>(.*)<^\/span/ ){ push @usedprices, $1; } #status if($_ =~ /^ - (.+)$/ ){ push @usedstatus, $1; } #stock if($_ =~ /strong>(.*発送.*します.*)<\/strong/){ $stock = $1; }

kalk
質問者

補足

返信ありがとうございました。 上記の部分を変更して動かしてみたのですが、またも「商品が存在しません」と表示されてしまい、うまくいきませんでした…。 pipipi523さんの正規表現を参考にHTMLで必要な部分が記述されている部分を抜き出して正規表現を行ったのですが、エラーを吐き出すか「商品が存在しません」と表示されてしまい困っています。 もしかして、正規表現の部分はもちろんのこと、正規表現以外の部分も変更が必要なのでしょうか…?

関連するQ&A

  • Perlの正規表現

    Perlの正規表現 Perlの正規表現で質問です。 MT4.13を使用して携帯用サイトを構築しています。 今現在、携帯用記事中の画像を縮小して表示しようと「regex_replace」を 使って、記事中のimgタグからsrc部分を抜き出して外部のphpに飛ばしています。 <$MTEntryBody regex_replace="/<img (.*?)src=\"(.*?\.jpg)\"(.*?)>/ig","<img src="phpスクリプト?img=\\2" border="0" />"$> 記事中のjpg(JPG)画像のsrc部分を拾って、phpに渡し、GDで縮小した画像を表示すると言った感じです。 しかし、regex_replaceの正規表現部分が上手く機能していないのか、jpg画像の最後の一枚のみ変換されると言った具合です。 JPG画像も含めて、記事中全てのjpg(JPG)画像を縮小して表示したいのですが、正規表現が思い浮かばず質問しました。 上記以外にも /<img (.*?)src=\"(.*)?(\.jpg|\.JPG)\"(.*?)>/ig などとしましたが上手くいきませんでした。 ちなみに、phpで画像を縮小する部分は問題なく動作しています。 以上、宜しくお願い致します。

  • 海外正規品について

    海外正規品をアマゾンのマーケットプレイスで 買わされたのですが、どう対処したらよいでしょうか? 国内正規版の商品の中の 新品というところでした。

  • perl 正規表現処理について

    perlの正規表現で、Aというファイルの中から、2に マッチしたらマッチした行から}まで、抜き出すというのは どのようにやるのでしょうか? # ファイルAの内容 1 parameter { xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz } 2 parameter { aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb } 3 parameter { ccccccccccccccccccccccccccccccccc ddddddddddddddddddddddddddddddddd } 欲しいデータとしては 2 parameter { aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb } を取得したいです。 以上宜しくお願いします。

    • ベストアンサー
    • Perl
  • 正規表現の利用方法

    Perlで指定ディレクトリ内の画像を一覧表示しするプログラムを作っています。画像は日記に使用しているもので、画像のファイル名を2007121601.jpgつまり、年・月・日・番号の様に命名ルールを決めておき、表示した画像から該当記事にリンクしたいのです。(記事はHTMLファイルで、200712.htmlの様に、年・月という命名ルールにしてあります) そのために、正規表現を使って試みているのですが、 上手く該当記事にリンクさせるところが出来ません。 ↓yyyymmddnn形式の画像を正規表現で表現 grep{ /([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})\.+(jpg$|gif$|png$)/ } ↓画像表示&記事へリンク print "<a href=\"★\"><img src=\"img/$file\"></a>\n"; ★の部分に、上の正規表現から年・月の部分、つまり、([0-9]{4})([0-9]{2})を何らかの形で抜き出して記事URL(年・月.html)を表現したいのです。どなたかお分かりでしたらご教授下さい。

    • ベストアンサー
    • Perl
  • マーケットプレイス

    マーケットプレイス amazonのマーケットプレイスの商品とマーケットプレイスではない商品は何処で見分けられるのでしょうか?教えてください。

  • 正規表現について

    Perlの初心者です。 正規表現の指定方法がよくわかりません。 ディレクトリー内の該当するCSVファイルの抽出をしたいのですが、 "xyz20050105*.csv"に該当するデータすべてを抽出したい。 下記のように、詳細に指定して該当するCSVのファイル名を取得したいのですが、これだとディレクトリー内がすべて表示されてしまいます。 @FTPlist = grep ("$head$year$mon$mday*.csv", readdir(DIR)); どのように指定すればよいのでしょうか?

    • ベストアンサー
    • Perl
  • 正規表現内に変数を使用する方法

    match() や replace() の第1引数に文字列ではなく正規表現を使用 できますがこの正規表現内に変数を使用する場合、どうやったらよいの でしょうか。 var str = 'てすと'; alert(str.replace(/str/, 'テスト')); とすることができません。 (Perlではパターン内に変数が使用できるのですがJSでは変数が使用 できません) http://ar.aichi-u.ac.jp/blog/js-replace.html に書いてあるように第1引数に文字列を渡すと正規表現ではなくただの 文字とのマッチになってしまうようなので(確認済み)使えません。 面倒ですがリンク先にあるようにnew RegExpでRegExpオブジェクトを 作ってやる方法しかないんでしょうか。

  • PHPでの正規表現

    PHPでの正規表現 下記のようなソースがあり、「備考情報・・・」の部分だけを抽出する正規表現がわからず困っております。 -------sample code------- <div class="product"> <strong>商品情報:</strong> </div> <div class="comment"> <strong>備考:</strong>&nbsp; 備考情報・・・・・ </div>   :   : -------sample code------- 以下のような正規表現を書いてみましたが、上手くいきませんでした。 「<strong>備考.* ([^\n]+)」 「<strong>備考:</strong>&nbsp;」の次の行の情報で、改行されるまでの情報を取得したいと考えております。 何度か試みても&nbsp;のコードや改行コードの取得、判定がうまくいかず、頭を抱えている次第でございます。 どなたかご教授いただけますと幸いです。 よろしくお願いいたします。

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

    正規表現につての質問です。 今テキストファイルに下記のような漢字と数字が並んでいます。 そこから、漢字一文字だけの行を抜き出してきたいのですが、うまくいきません。PerlとCygwinを使用しています。よろしくお願いします。 人584504122 情報542701982 商品510342870 日414551872 方347990908 者347069359 中339925319 表示330177395 的324961911 私323727263 検索291502623 見ル285226619 場合275698771 一256241900 利用253752129 年240881734 時239273060 前228762989 店225241510 登録224560617   ・   ・    ・ プログラム中身 #! /usr/bin/perl -w #テキストから指定した単語などとマッチすると、 #その単語を含んだ文を抜き出してくる。 while(<>){ s/ +//g; s/\s+//g; if(/^([亜-煕]|[一-龠]){1}[0-9]*/){ print; print "\n"; } }

  • amazonマーケットプレイスの商品を自動購入

    amazonマーケットプレイスの商品を自動購入することができるソフトはありませんか? amazonが販売している商品ではなくマーケットプレイスの商品を○○円以下なら買う等できるソフトを探しています。