文字列からの情報抽出
Posted feedbacks - Perl
きっともっといい方法あるだろう
1 2 3 4 5 6 7 8 | sub print_image_spec {
$_ = $_[0];
while(my($name, $hidden, $size, $ext, $rest) = /([A-Za-z]+)(-hidden)?(?:-(small|big))?\.([A-Za-z]+)/) {
printf("name:'%s', ext:'%s', size: %s hidden: %s\n",
$name, $ext, $size||'normal', $hidden ? 'True' : 'False');
$_ = $';
}
}
|
Perl 5.10(開発版はPerl 5.9.5)から、named capture が使えるようになります。
see: perl v5.9.5 更新情報
1 2 3 4 5 6 7 8 9 10 11 | sub print_image_spec {
my $str = shift;
while ( $str =~ /(?<name>[A-Za-z]+)(?<hidden>-hidden)?(?:-(?<size>small|big))?\.(?<ext>[A-Za-z]+)/g ) {
printf(
"name:'%s', ext:'%s', size: %s hidden: %s\n",
$+{name}, $+{ext},
$+{size} || 'normal',
$+{hidden} ? 'True' : 'False'
);
}
}
|


にしお
#3407()
Rating0/0=0.00
サンプル入力
サンプル出力
探すべき文字列は下の条件を満たします
出力は以下の条件を満たす必要があります
このお題は、正規表現のグループに名前をつけて連想配列として取得できるPythonからの挑戦状です。
[ reply ]