日本人名にマッチする正規表現

たまに必要になるけど、そのつど書くの面倒なので。

^([kstnhmrgzdbp]?([aiueo]|y[auo])|w[ao]|(sh|ch|j)[aiuo]|(ts|f)u)((?<=o)h|([ksthmrgzdbp]|n['-]?|m[mbp]|kk|ss|tt|gg|zz|dd|bb|pp)?([aiueo]|y[auo])|w[ao]|(s?sh|t?ch|j?j)[aiuo]|(t?ts|f)u|n)* ([kstnhmrgzdbp]?([aiueo]|y[auo])|w[ao]|(sh|ch|j)[aiuo]|(ts|f)u)((?<=o)h|([ksthmrgzdbp]|n['-]?|m[mbp]|kk|ss|tt|gg|zz|dd|bb|pp)?([aiueo]|y[auo])|w[ao]|(s?sh|t?ch|j?j)[aiuo]|(t?ts|f)u|n)*