- ベストアンサー
正規表現で、漢字と送り仮名を分割しない書式を教えて下さい
mb_ereg("[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+", $str, $match); を使うと、漢字と平仮名全てが分割されてしまいます。 例えば、「抱っこ」は、「抱」「っこ」に分割されてしまいます。 送り仮名といっても全て検知できるようなシステムは膨大になりすぎて 現実的ではないと思いますので、 ・漢字の後に平仮名が続いたら、分割せずに結合させる正規表現の書式 もしくは、 ・漢字と送り仮名を結合させるプログラム をご存知のかたがおられましたら、教えて下さい。 宜しく願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
すべて又は | で結合しているからまずいんでしょう。 文字クラスを一つにすれば良いと思います。 "[一-龠ぁ-んァ-ヴーa-zA-Z0-9a-zA-Z0-9]+"
お礼
実は、正規表現式がまだよく読めないのですが、 +| は、or のことなのですね! 教えていただいた式を使うと、漢字と平仮名がうまく繋がりました。 有難う御座います。