アプリ版:「スタンプのみでお礼する」機能のリリースについて

Perl ある特定の文字にある数値を1つの配列にまとめる方法 教えてください! my $test = "テスト >>3
あああ >>2 aaaa
>>4
wwwewewe"; >>の後ろにある数値を1つの配列 @Pにしたいのですが、どうすればできますでしょうか? $test =~ s/(>>|>>|>>)(\d*)//g; print "$2"; これだと4しか取得できず困っております。 結果的に @P = ("3","2","4"); というふうにしたいのです。

A 回答 (2件)

s/// は置換用の構文なので


m// を使うのがいいでしょう。m// の左辺で() 内を取得できます。(s///だと置換した回数が取れてしまう。)

my $test = "テスト >>3
あああ >>2 aaaa
>>4
wwwewewe";

my @P = ($test =~ /(>>|>>|>>)(\d*)/g); print "@P";
    • good
    • 0

(?:>>|>>|>>) の方がいいような気がする>#1.

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!