2017-10-13 8 views
-1

データ入力のために、私は可変サイズのハッシュを持ち、複数の要素が似た名前を持っています。ハッシュがどのように見えるかの例は次のようになります。Perlのシンプルな正規表現のキャプチャグループがキャプチャしない

  • wineName0 =>シャルドネ
  • wineFull0 => 4.00
  • wineHalf0 => 2.00
  • wineName1 =>ピノ・ノワール
  • wineFull1 => 16.00
  • wineHalf1 => 8.00
  • plateName0 =>フランクステーキ
  • plateCost0 => 14.00
  • plateTemps0 =>、私はそのようにのような同じ番号の要素をつかむためにその番号を使用して、その数を捕捉、正規表現でそれらを確認、キーを反復処理していますそれらを処理するよう

を可能にします。

私の問題は、何らかの理由で/plateName(\d+)/がキャプチャしていないことです。したがって$key == "plateName1"の場合、$plateCostは "plateCost1"ではなく "plateCost"に等しくなります。例として与えたハッシュ・キーは実際の例です。これを念頭に置いて、ワインの正規表現が動作する理由を理解するのに役立つ必要がありますが、プレートの正規表現はほとんど同じであるとみなして動作しません。

あなたがパターンで /あまりにも多くを持っている
$in{$plateName} =~ s/\s/+/g; 

:問題がであるように、あなたの投稿コードに基づいて

+0

動作していない場合の特定の正規表現とデータを共有できますか? –

+0

@FedericoPiazza表示された正規表現とデータは、まさに私が使っているものです。 –

+0

どのような出力を期待していますか?私にとってはうまくいくようですが、ループの同じ繰り返しでワインとプレートを配置するのではなく、各ステップのキーを1つだけ処理するだけです。 – choroba

答えて

-1

、それが見えますか?

関連する問題