- ベストアンサー
文字列から配列作成
お世話になっております。 〔abc〕あいうえお<BR>〔def〕かきくけこ<BR>・・・ という構成になっている $M から @A = qw(abc def ・・・); @B = qw(あいうえお かきくけこ ・・・); という配列を取り出したいのですが、どのような方法がありますでしょうか。 御教示宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
$_="〔abc〕あいうえお<BR>〔def〕かきくけこ<BR>"; @A=/〔(.+?)〕/g; @B=/〕(.+?)</g;
その他の回答 (2)
- moon_piyo
- ベストアンサー率60% (88/146)
回答No.2
こんちはっ $M = "〔abc〕あいうえお<BR>〔def〕かきくけこ<BR>"; @A = @B = (); while ($M =~ /〔(.*?)〕(.*?)<BR>/g) { push(@A, $1); push(@B, $2); }
質問者
お礼
ありがとうございます。 参考になりました。
- dahho
- ベストアンサー率44% (68/153)
回答No.1
〔abc〕あいうえお<BR> の繰り返しなら @x = split(/<BR>/, $M); #<BR>でsplitして foreach $i (@M) { /([a..z]+)(.+)/; #マッチで記憶して push(@A, $1); push(@B, $2); } というのはどうでしょう? 上のは文法的に間違ったりしてるかもしれません。アイデアだけです。
質問者
お礼
ありがとうございます。 参考になりました。
お礼
ありがとうございます。 参考になりました。