- 189 名前:184 mailto:sage [2007/04/05(木) 23:22:15 ]
- レスありがとうございます
>>187 ()+ での一気取得が駄目だった場合、私もそれを候補の一つに考えていました リストにするには(foo|bar|baz)のマッチングがもう一回必要になってしまいますが >>188 説明不足でした。申し訳ありませんでした (ある程度大きいテキストから) 'AAA' と 'ZZZ' の間が (foo|bar|baz)+ のみで構成されている箇所を探し その部分をリストとして取得したいと思っております ですので、提示くださった選択肢の中では >その場合 @a は () とするべきか を考えています (foo|bar|baz) の部分は実際はかなり重そうな正規表現の羅列と選択(|)で構成されていて ()+ による繰り返しも回数も非常に多く (foo|bar|baz) のマッチングによる2度手間(切り出し・リストへ分割)は避けようと思い 今現在は下記の感じの処理を考えています if (/AAA/) { while ($' =~ /^(foo|bar|baz|ZZZ)/) { if ($1 eq 'ZZZ') { OK; last; } push(@a, $a); } } } そこで >>184 の質問するに至りました マッチングも一回で一文で済ませられたら…と 長文失礼
|

|