boost::xpressiveで漢字を含む日本語にマッチさせるパターンは?

解決


bigbro  2011-06-18 12:23:44  No: 72731

VisualC++9 + boost1.46.1+Windows764bitです。
boost::xpressiveのwsregexで、漢字を含む日本語にマッチするパターンを作りたいのですがいまいちわかりません。
どなたがご存じの方おられましたらご教授いただければ幸いです。


bigbro  2011-06-18 12:25:27  No: 72732

追記:UTF-8が前提です。


επιστημη  URL  2011-06-18 13:00:12  No: 72733

wsregexてことはwide文字が対象なわけで、
なのになんで"UTF-8が前提"なんです?
ワケわかんね。


bigbro  2011-06-18 13:08:30  No: 72734

そうでしたねすいません。
変な文章でした。
まぁとりあえず日本語にマッチする正規表現という解釈でお願いします。
Webで[ぁ-ヶ]|[亜-ャ]が大体の日本語にマッチするという情報がありこれはたしかにそのような挙動なのですが、Unicodeの仕様に詳しくないためわかりません。


επιστημη  URL  2011-06-18 13:22:36  No: 72735

"日本語にマッチする"が理解できません。
"OHAYOU GOZAIMASU"は日本語ですからマッチするんですよね?
"ボンジュール"はどうですか?
"臺灣に行きました" / "台灣に行きました" / "台湾に行きました" はどうですか?


bigbro  2011-06-18 13:38:07  No: 72736

あなたはそれなりに知識をお持ちなのであえておっしゃっておられるのだとは思いますが、ひらがな、カタカタ、漢字、その他記号など日本語で普段使われそうな文字列に一致するパターンという意味です。常識的に考えて。
厳密なものは難しいかもしれませんが。
ちなみに「OHAYOU GOZAIMASU」が日本語だとは生まれてはじめて知りました。


επιστημη  URL  2011-06-18 13:58:09  No: 72737

"日本語で普段使われそうな文字列"という定義自体があいまいです。
僕らフツーに英数字を使いますよ? "ひとつ100円" はどうですか?

> 厳密なものは難しいかもしれませんが。
計算機は曖昧なものを受け付けませんから、使われ"そう"とおっしゃられても...

> ちなみに「OHAYOU GOZAIMASU」が日本語だとは生まれてはじめて知りました。
あれま。「おはようございます」は日本語ですよね。
それをローマ字表記すると日本語じゃなくなるんですか?

で、[ぁ-ヶ]|[亜-ャ]ではあなたの要求を満たさないのでしょうか。


bigbro  2011-06-18 16:02:31  No: 72738

[ぁ-ヶ]|[亜-ャ]で満たすかどうかというところも知りたいところですね。

質問しておいてなんですが、この手の理解力がないだけのやりとりにしか見えないものはアスペのやりとりに過ぎないのでもう結構です。ご返答いただいたのに申し訳ございませんでした。

ちなみに数字は含めます。


επιστημη  URL  2011-06-18 16:39:20  No: 72739

いやだから、あなたのいう「日本語を構成する文字の集合」はあなたが定義し明示しないと、それに対応した正規表現の示にようがないんじゃないですか?
「一般的に」とか「常識的に考えて」は通用しないんじゃありません?


bigbro  2011-06-18 16:50:25  No: 72740

「漢字を含む日本語にマッチする」という前提がありますが。
これなら別に無限のコードマップを持つわけでもないでしょうに。日本語は基本的にひらが、カタカナ、漢字、数字が含まれている物にマッチさせるしかないでしょう。上記前提によればたとえ英数字が含まれていても日本語という判定ということです。
このうち漢字のコードマップ自体は決まっているわけですからなにも捉え用がないものでもないはずですが。ローマ字表現の日本語は一部を見ると英単語にもなりうるのでそれをWebで通信される文字列において日本語と表現しても意味がないでしょう。
むしろ通用しないのはあなたの面倒な会話でしょうね。


bigbro  2011-06-18 16:54:36  No: 72741

あなたが厳密な話をしたがる人物なのか、面倒な会話を振るのが好きな人物なのかは存じ上げません。質問サイトに質問をしに来た私には不毛な時間でしたがそれはそれで勉強になりましたのでお礼を申し上げておきます。
以上


επιστημη  URL  2011-06-18 17:29:55  No: 72742

「日本語を構成する文字の集合」を
>「漢字を含む日本語にマッチする」という前提がありますが。
と定義したらトートロジーじゃないか。

UNICODEでは各文字に「その文字が用いられる言語」が割り当てられているハズ。
「それが"Japanese"であるもの」で構成された文字列を見つけ出すことになるのかと。
それがあなたの求めるものであるかは定かではありませんけども。
# 日本では一般に使われない(使われなくなった)文字はどうするの? 
# "臺灣に行きました"はマッチするの? 旧字体は? とか。


pp  2011-06-18 23:03:41  No: 72743

επιστημηさん
落ち着いて下さい。


bigbro  2011-06-24 03:43:14  No: 72744

επιστημηへ

こちらの意図することは十分伝えたはずだと思います。
あなたとの問答で得るものなど上に揚げた以上のことはないですよ。気づいてください。顔真っ赤にして返答をもらうような厳密な質問してないんですから。


bigbro  2011-06-24 03:46:35  No: 72745

というかなにがトートロジーですかww
そんな会話してないんで。
漢字含んでなくても日本語なんでしょ?あなたの言い分では
百歩譲ってこちらがトートロジーならあなたは自己矛盾じゃないですか?w


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加