@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C#.NETでのSJISでの正規表現

1
投稿者投稿内容
かつ
会議室デビュー日: 2006/06/26
投稿数: 1
投稿日時: 2006-06-26 19:42
C#.NET-ORACLEでシステムを構築していますが、
エントリ画面でORACLE(SJIS_TILDE)でサポートしていない
文字の入力制限をかけようと思っています

正規表現を利用しようと思っているのですが、
SJISのコードで範囲指定を行なう場合どのように記述すれば
良いのでしょうか?

UNICODEでは、利用可能な文字の配列がバラバラで
範囲指定するのが難しいです
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-06-27 10:52
引用:

かつさんの書き込み (2006-06-26 19:42) より:
正規表現を利用しようと思っているのですが、
SJISのコードで範囲指定を行なう場合どのように記述すれば
良いのでしょうか?


無理だと思う。Unicodeのままでは、ばらばらに文字が配置されているために正規表現では処理できません。ShiftJISに変換した後では、そもそも文字列ではなくバイト列に過ぎませんので、正規表現では処理できません。
変換後の文字数などから変換できなかった文字の有無を判別するといった実装にするか、あるいは利用可能な文字の一覧を持つ以外に無いと思います。
1

スキルアップ/キャリアアップ(JOB@IT)