- PR -

C#での正規表現

1
投稿者投稿内容
blue-pearl
会議室デビュー日: 2004/10/13
投稿数: 5
投稿日時: 2004-10-13 18:33
はじめまして
いつも勉強させて頂いております

C#+ASP.NETの開発を行っております
ASP.NETのテキストボックスで記述されている内容をボタンイベントで
C#に処理を移してから、クラスで正規表現を行おうとしております
こちらの正規表現でテキストボックス及びテキストエリア内に
全角カナのみ記入されているならばtrue、半角カナが混じっているならば
falseという事を行おうと思い、下記を記入いたしました

TxtFieldはテキストボックス(エリア)より渡されるstring型
Check = Regex.IsMatch(TxtField , @"[^ア-ン]*^[ア-ン]+$");
                             ↑ここは半角カナです
ただ、上記ですと10文字以上の値が入った場合には対応出来ない
(falseで帰ってくる)事が分かりました
正常に評価する為にはどのように記述すればよろしいでしょうか?

また、漢字とひらがな及び記号を許可するものはどのように記述
すればよろしいのでしょうか?
Check = Regex.IsMatch(TxtField , @"^[  あ-ん亜-熙]+$");
上記だけですと、記号が許可されない事と、一部の漢字が
(例えば許可という文字)使用出来ません

ご教授の程、よろしくお願い致します

[ メッセージ編集済み 編集者: blue-pearl 編集日時 2004-10-13 18:46 ]
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-13 19:24
blue-pearlさん、こんばんは。

引用:

半角カナが混じっているならば false


で、それ以外が true という事ならば、

コード:
bool Check = ! Regex.IsMatch(TxtField, @".*[ヲ-゚].*");


で良いんじゃないでしょうか。
blue-pearl
会議室デビュー日: 2004/10/13
投稿数: 5
投稿日時: 2004-10-13 20:02
きくちゃん様
そうそうのご返答、誠にありがとうございます


引用:

bool Check = ! Regex.IsMatch(TxtField, @".*[ヲ-゚].*");



ありがとうございます
出来ました

ただ、教えていただきたいのですが、
「@".*」の部分は任意の文字を初めの0文字目からという意味ですよね?
「[ヲ-゚]」ここはどういうことなのでしょうか?
     ヲ-でここからという意味だと思いますが、こちらだけで半角カナのアからヲまで
     「゚」は拒否するということなのでしょうか?
私が調べた中で上記の記述がありませんでしたので、教えて頂ければ幸いです

また、調べていて痛感したのですが、良いサイトが見つかりませんでした
知ってらしたら教えて頂ければ幸いです

よろしくお願い致します
Izumi, Y.
ベテラン
会議室デビュー日: 2002/03/19
投稿数: 77
お住まい・勤務地: 東京
投稿日時: 2004-10-13 23:16
いわゆる半角カナを文字コード順に並べると次のようになります。

。「」、・ヲァィゥェォャュョッーアイウエテンルレロワン゙゚

我々の感覚とはずいぶん違いますね。

[ヲ-゚] というのは「文字コード」において ヲ から ゚ までという意味です。上の順番をみればなぜこのような(一見)おかしな範囲を指定しなければならないのかがおわかりでしょう。

とはいえ、[ヲ-゚] だと一部の記号が認められてしまいますので、正しくは次のようなコードになると思います。
コード:
Regex.IsMatch(TxtField, @"[。-゚]");




[ メッセージ編集済み 編集者: IZUMI Yusuke 編集日時 2004-10-13 23:18 ]
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-14 06:41
IZUMI Yusukeさん、おはようございます。

引用:

とはいえ、[ヲ-゚] だと一部の記号が認められてしまいますので、正しくは次のようなコ


フォローありがとうございます。
そうそう、記号は考慮してませんでした。
blue-pearl
会議室デビュー日: 2004/10/13
投稿数: 5
投稿日時: 2004-10-14 14:39
IZUMI Yusuke様
きくちゃん様

こんにちは

引用:

いわゆる半角カナを文字コード順に並べると次のようになります。

。「」、・ヲァィゥェォャュョッーアイウエテンルレロワン゙゚

我々の感覚とはずいぶん違いますね。




上記のようになっていたのですね?
とても複雑ですね
並び順が分からないととてもではありませんが使えませんね

お忙しい中、ご回答頂きまして誠にありがとうございます
とても勉強になりました
もし、また不明な点がございました際には、お願いしたいと思います
この度は誠にありがとうございました



[ メッセージ編集済み 編集者: blue-pearl 編集日時 2004-10-14 14:41 ]
1

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