プロが教えるわが家の防犯対策術!

Perlを使って、下記データを分割したのですがうまくできません。
多分、正規表現などを使うとできそうな気がするのですが、分かりませんでした。
1つだけでも大歓迎ですので、できる方、教えてください。
特に、最初の2つだけでもできればとても、助かります!!
何卒、宜しくお願い致します。

ちなみに、文字コードは、UTF-8です。


分けたい組み合わせ(文字数が変わってもある程度汎用性があると助かります)
========
漢字+数字
英字+カタカナ
漢字+数字+英字+カタカナ


例:
========
表現100
Abcテレビ
非営利99AbcFFテレビ
日本語テキスト


出来上がり例:
========
表現
100

ABC
テレビ

非営利
99
AbcFF
テレビ

日本語
テキスト

A 回答 (1件)

perldoc perlunicode に \p{...} の ...部分の指定の仕方が書かれています。


use encoding 'utf8';
foreach (<DATA>) {
my @kanji;
my @katakana;
my @number;
my @alphabet;
chomp;
push @kanji, ($_ =~ /(\p{Han}+)/g);
push @katakana, ($_ =~ /(\p{Katakana}+)/g);
push @number, ($_ =~ /(\d+)/g);
push @alphabet, ($_ =~ /([a-zA-Z]+)/g);
print join "\n", @kanji, @katakana, @number, @alphabet, "\n\n";
}
__END__
表現100
Abcテレビ
非営利99AbcFFテレビ
日本語テキスト
    • good
    • 0
この回答へのお礼

回答いただきありがとうございました!!
とても、助かりました!!

お礼日時:2006/01/28 01:18

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