正規表現で「ひらなが」「カタカナ」「漢字」だけマッチングさせる方法

正規表現で「ひらなが」「カタカナ」「漢字」だけマッチングさせる方法

ひらがなだけの場合を考えみる。
これは誤り:
/^[ぁ-ん]+$/u
[0-9]とか[a-z]みたいな感じで指定すると、文字コードの問題で「む」が含まれなかったりする!

実はUnicodeプロパティで、簡単に指定できる。
文字種 メタ文字
ひらがな \p{Hiragana}
カナカナ \p{Katakana}
漢字 \p{Han}

長音やハイフンは含まれないので、必要に応じて追加する。
これが正解(下記の例では長音のみ追加)
/^[\p{Hiragana}|ー]+$/u