正規表現

解決


初心者です  2009-03-26 05:16:04  No: 141734  IP: [192.*.*.*]

ASPを使用していて、VBSCriptの正規表現で入力した文字の検索を行いたいのですがなかなかうまくいきません。
[亜-熙]と[ぁ-ん]を使用してひらがなと漢字以外の文字を入力させないようにしたいのでがうまくいきません。
どなたかご教授頂ければ幸いです。
宜しくお願い致します。


Function ChkM(moji)

Set ObjM = New RegExp

ここでのパターンが分かりません
↓↓↓↓↓
ObjM.Pattern = ""

ObjM.Global = True
ObjM.IgnoreCase = True
ChkM = ObjM.Test(moji)

Set ObjChkMoji = Nothing

End Function

編集 削除
魔界の仮面弁士  2009-03-26 09:33:47  No: 141735  IP: [192.*.*.*]

> [亜-熙]と[ぁ-ん]を使用してひらがなと漢字以外の文字を入力させないようにしたいのでがうまくいきません。

漢字判定が前者。後者がひらがな判定であるのなら:


ObjM.Pattern = "^([亜-熙]|[ぁ-ん])*$"
で、「『漢字』または『ひらがな』だけで構成された文字列」。
※ この場合、空文字列は True になります。

ObjM.Pattern = "^([亜-熙]|[ぁ-ん])+$"
で、「『漢字』または『ひらがな』だけで構成された文字列」。
※ この場合、空文字列は False になります。


ObjM.Pattern = ".*([亜-熙]|[ぁ-ん]).*"
で、「『漢字』または『ひらがな』が含まれている文字列」。
※ この場合、空文字列は False になります。

ObjM.Pattern = "^[^亜-熙ぁ-ん]*$"
で、「『漢字でもひらがなでも無い文字』だけで構成された文字列」。
※ この場合、空文字列は True になります。

編集 削除
初心者です  2009-03-26 19:50:07  No: 141736  IP: [192.*.*.*]

魔界の仮面弁士様ご教授誠に有難う御座います。
それで一つお聞きしたいのですが
漢字とひらがなで構成されている場合はどうなるのでしょうか??
上記で試した場合、漢字とひらがなで構成されていれば英数字等も入力が可能になります。
漢字とひらがなで構成されていて、尚且つ、それ以外の文字は入れないという風にやりたい場合はどのようにすれば宜しいでしょうか??
最初にご説明していればよかったのですが・・・
申し訳御座いませんが、ご教授頂ければ幸いです。
宜しくお願い致します。

編集 削除
shazbot  2009-03-27 08:59:51  No: 141737  IP: [192.*.*.*]

横槍失礼します。
--------------
漢字
ひらがな
漢字+ひらがな
--------------
これらすべてがマッチすればよい、ということでしょうか?だとすれば

ObjM.Pattern = "^[亜-熙ぁ-ん]*$"

でいいと思います。魔界の仮面弁士さんが出してくれた正規表現の「『漢字でもひらがなでも無い文字』だけで構成された文字列」から、否定の^を取り除いたものです。

編集 削除
初心者です  2009-03-27 22:36:49  No: 141738  IP: [192.*.*.*]

shazbot様ご教授有難う御座います。
その通りで問題なく動作致しました。
魔界の仮面弁士様・shazbot様、この度は本当に有難う御座いました。

編集 削除