Perlについての質問箱 30箱目at TECH
Perlについての質問箱 30箱目 - 暇つぶし2ch189:184
07/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 の質問するに至りました
マッチングも一回で一文で済ませられたら…と
長文失礼


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch