みなさん、ワンライナーで日本語を簡単に処理したい場合、何を使うでしょうか。 ワンライナーで言語処理といえばPerlですよね[要出展]。 Perlでは、「ひらがな」「カタカナ」「漢字」といった文字にマッチする正規表現を簡単に書くことができます。 例えば、青春→鯖鰆みたいなやつという記事では、漢字にマッチさせるのに\p{Han}という正規表現を使っていました。 $ perl -Mutf8 -CSD -le 'print "漢" =~ m{\p{Han}} ? 1 : 0' 1 $ perl -Mutf8 -CSD -le 'print 1 if "あ" =~ m{\p{Han}} ? 1 : 0' 0 なんてこった。 "「"は明らかに漢字じゃないだろう? 調べてみると、perlunicodeに以下のような記述がありました。 Prior to Perl v5.26, the single for
![Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1d1d159e44350eac5725ac18e8bd35753041e987/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UGVybCVFMyU4MSVBNyU1Q3AlN0JIaXJhZ2FuYSU3RCVFMyU4MSVBOCVFMyU4MSU4QiVFMyU4MSU4QyVFOCVBOCU5OCVFNSU4RiVCNyVFMyU4MSVBQiVFMyU4MyU5RSVFMyU4MyU4MyVFMyU4MyU4MSVFMyU4MSU5OSVFMyU4MiU4QiVFNSU5NSU4RiVFOSVBMSU4QyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjNiOWZmNjIyN2JiMDEwZTE3Y2E0MDFiNDFmNzkzZGI%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YWtlZGEyNSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MDJiZWM3NzY4ZTAzYmU0MmM3MjY1ZTczNWI4YjBkNzA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dd9e0327b7563c2f62aa906f061f9f3ac)