• 締切済み

正規表現 perl 連続ヒットの後の打席(野球)

アウトは0、ヒットは1、二塁打は2、三塁打は3、 ホームランは4、その他は5、 として結果が時系列に並べられた以下のようなテキストファイルがあります。一打席ごとに改行がはいっています。 (例) 1 1 5 0 0 1 0 4 野球のある打者が連続ヒットを打った直後の打席の打率を したべたいのですがよい方法は無いでしょうか。 テキストエディタや grep ソフト置換ソフト(speeeeeed)などを使って調べる方法をおしえてください。 データが複数行にまたがっているため、正規表現でうまく検索できません。

  • Perl
  • 回答数1
  • ありがとう数1

みんなの回答

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

以下のような感じ? $dat = <<DAT; 1 1 0 5 0 0 1 2 3 0 4 DAT my $ave=0; my (@result,@result_hit); @result = $dat =~ /(?<=[1-4]\n[1-4]\n)(.)/g;# 連続安打後の打席を抽出 @result_hit = grep{/[1-4]/}@result;# 抽出した中から更に安打を抽出 $avg = @result_hit / @result if(scalar @result); # 打率を算出 print '打率:',$avg,'(',scalar @result_hit,'/', scalar @result,')';

関連するQ&A

  • 野球のクリーンナップ打者は次にどんなヒットを打とうと考えて打っているのですか

    野球のクリーンナップ打者は、打つときに、 「次はホームランを打とう。」とか、 「次は2塁打を打とう。」とか、 「次はシングルヒットを打とう。」 とかを決めて打っているのでしょうか? それとも、ホームラン、2塁打、シングルヒット等を打ち分けることは考えずに、いつもただボールを遠くへ飛ばすことだけしか考えずに打っているのでしょうか?

  • 得点圏打率について

    得点圏打率について教えて頂きたいのですが、バッターボックスに入ったときランナーが一塁にいたとします。 そのランナーが盗塁をしたなどで二塁(三塁)に進んだ場合、たとえツーストライクに追い込まれていても、凡退してしまえば得点圏打率は下がってしまうのでしょうか?それとも打席に入ったときの状況で考えるのでしょうか?教えて下さい。

  • 正規表現で「除く」

    windows用のエディタの「VIVI」というのを使っています。 grepで「2002/09/01」という文字列を含まないテキストを検索したいのですが、正規表現での検索の方法を教えていただけないでしょうか。 #どのエディタも同じではないかもしれませんが。 #自分は、正規表現のことは素人です。単に上記条件の日付のみを変更して使いたいだけ・・ (^^;

  • 打球がランナーに当たった場合

    ランナーが一、二塁で、打球が一塁走者に当たった場合、一塁ランナーがアウト、打者がヒットとなるのは分かるのですが、二塁にいたランナーの扱いはどうなるのでしょうか?もともといた二塁に留まるのでしょうか。それとも(打球が当たっていなければ三塁まで進めたであろうということで)三塁へ進むことになるのでしょうか。

  • 一・三塁でバント、一走のみ進塁は、犠打?

    子供の頃プロ野球を観戦したとき、(無死か一死か忘れましたが)ランナー一・三塁で投手が打席に入り、送りバントをして、一塁ランナーが二塁に進み、三塁ランナーは動きませんでした。(打者はアウト) この場合、打者に犠打は記録されるのでしょうか。それとも内野ゴロになるのでしょうか。

  • 【野球】打者の記録を教えてください

    打者がヒット性の打球を打ち、一塁と二塁を通過しましたが、三塁ベースを踏む前にタッチされてアウトになりました。この場合の打者の記録は何ですか。

  • 正規表現置換

    はじめまして。 現在、テキストエディタで kami987koroです。(漢字、かな、英数字、半角記号、全角記号、改行、スペースを含む文字列)ありがとうございました。 という文字列を正規表現で拾いだして、置換したいと考えています。 ただ、私がその方面の知識に疎く、どう表記すればよいのか分かりません。 そこで、この分野にお詳しい方、ご教授願えませんでしょうか? よろしくお願い致します。

  • 改行を正規表現での置換のあとで元に戻す。

    あるテキストデータを一行ごとに読み込んで、chompで改行をはずして結合し、一つの長い行にしてから、正規表現で文章中の単語を(かなり多く)置換したとします。置換したあとのデータを、元データと同じ改行位置で改行をしたいのですが、なにか簡単な方法がありましたら教えて下さい。

    • ベストアンサー
    • Perl
  • 正規表現による改行の置換

    Windowsで正規表現ができるテキストエディタ(NoEditer)を使っており、次のような改行で区切られた文を最後のピリオッドまでをつなげたいと思っています。例文ではX,Y,Z.の直後には改行が入っており、目的はAaaaXBbbbYCcccZ.と一文につなげることです。 [例文] AaaaX BbbbY CcccZ. 正規表現で \n[^(\.\n)] としてを空欄に置換すると2行目以降の頭が消えてしまいます。---> AaaaXbbbYcccZ.  文頭の文字が消えずつなげる方法を教えて下さい。

  • センター前ヒットで1塁ランナーアウト?

    野球のスコアについて質問です。 ノーアウトランナー1塁の場面で、打者がセンタ前にクリーンヒットを打ちました。ところが、ボールを取ったセンターが2塁に好返球、1塁ランナーが2塁でフォースアウトになりました。このケースでは、センター前を打った打者は1塁で生きていますが、2塁でランナーがアウトになっていることから、記録はヒットにならず、凡打となって打者の打率が下がってしまうのでしょうか?それとも、安打になりますか?

専門家に質問してみよう