perl
# ひらがな, かたかな, 漢字のいずれかを一文字以上含む行を抽出
use Encode qw/decode_utf8 encode_utf8/;
if (decode_utf8($_) =~ /(\p{InHiragana}|\p{InKatakana}|\p{InCJKunifiedideographs})/) {
print;
}
環境によるかも知れないが、decode_utf8する必要があった。
ScriptとBlockという二つの分類方法。Blockは連続したコードポイント(文字のID)をまとめたものであるのに対し、後者はコードポイントと関係ない基準でまとめあげたグループ(漢字全体、とか)。ScriptではHan、BlockではCJKunifiedideographが、それぞれ漢字集合に付けられた名前。(Hanはhan4yu3のhan。han2yu3なら韓語。)InCJKunifiedideographs も Han も漢字だが、前者のほうが範囲はせまい。日本語に限定したい場合にどちらが良いかは分からない。
InHiraganaとHiragana、InKatakanaとKatakanaもやや異なる。特にカタカナの場合、半角を含むか、中黒(・)や長音符(ー)を含むかどうかという大きな違いがある。詳しくは こちら を参考に。
ググって出てきた。多謝。
http://d.hatena.ne.jp/mukku-ver3/20100104
長いintroductionがなく、簡便な正規表現の解説。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_k08.htm