2

私は Perl を初めて使用し、このサイトを数年間使用して、取り組んできた他のプロジェクトに関する質問への回答を探していますが、このサイトに対する回答が見つからないようです。 ..

私のスクリプトはHTTP、正しい情報を解析するために削除する必要があるデータを含む応答を受け取ります。

これまでのところ、部分文字列にはこれがあります..

my $output = substr ($content, index($content, 'Down'), index($content, '>'));

これは、本来あるべきことを行っているようです..単語'Down'を見つけて、>.

ただし、文字列'Down'は応答内に何度も表示される可能性があり、これは最初の例を見つけた後に検索を停止します。

部分文字列を再帰的にするにはどうすればよいですか?

ご協力いただきありがとうございます :)

4

2 に答える 2

5

このような1つの方法:

my $x="aa Down aaa > bb Down bbb > cc Down ccc >";

while ($x =~/(Down[^>]+>)/g){
        print $1;
}
于 2013-07-26T11:26:39.827 に答える
2

反復せず、ダウンしているものを保存するだけの別のソリューション。

use Data::Dumper;
my $x="aa Down aaa > bb Down bbb > cc Down ccc >";
my @downs = $x =~ m!Down([^>]+)>!gis;
print Dumper(\@downs);
于 2013-07-26T11:30:57.910 に答える