C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

正規表現


(過去ログ 3 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■2537 / inTopicNo.1)  正規表現
  
□投稿者/ じゅで 二等兵(1回)-(2006/02/14(Tue) 11:13:03)

分類:[.NET 全般] 


分類:[.NET 全般] 

環境 VB.NET 2003 Windows XP Pro

現在カタカナか平仮名か漢字が含まれるかなどを判定する関数を作成しています。

Return System.Text.RegularExpressions.Regex.IsMatch(str, "^\p{IsKatakana}+$")

上記のように判定しているのですが、上記のようなものに英数字を含めた形にするにはどうしたらよいでしょうか?
全角カタカナか全角a-zA-Z0-9で判定をTrueとしたいのですが、方法がわかりません。

また、平仮名についても漢字、平仮名、英数字全角をTrueとしたいのですが、
こちらも方法がわかりません。
平仮名のみなら{IsHiragana}というのを
http://www.unicode.org/charts/
こちらからもってきて使用してはいるのですが、これだと表にある平仮名しか判定しません。

どなたか正規表現で
カタカナ+英数字
平仮名+英数字+漢字
などの書き方がわかる方がいらっしゃいましたらご教授お願いします。

正規表現であれば、C#かVB.NETどちらでもいいので分類は.NET全般としておきます。

以上




0
引用返信 編集キー/
■2538 / inTopicNo.2)  Re[1]: 正規表現
□投稿者/ 中博俊 元帥(316回)-(2006/02/14(Tue) 11:47:24)
中博俊 さんの Web サイト

分類:[.NET 全般] 

IsHiraganaですべてが拾えるとも思いませんし、漢字も同様ですね。

さて本題ですが、AかBかCかを表す場合に正規表現では

[A-C]+

などとあらわしますが、

[A|B|C]+でも同様になります。

もうわかりましたね(^^

0
引用返信 編集キー/
■2539 / inTopicNo.3)  Re[2]: 正規表現
□投稿者/ じゅで 二等兵(2回)-(2006/02/14(Tue) 12:09:17)

分類:[.NET 全般] 

すいません解決しました
Return System.Text.RegularExpressions.Regex.IsMatch(str, "[\u3040-\u309F]|[\u30A0-\u30FF]")
上記がカタカナと平仮名のサンプルになります。
ありがとうございました。
必要であればここから必要な文字コードを埋め込んでいきます。
ありがとうございました。

解決済み
引用返信 編集キー/
■2540 / inTopicNo.4)  Re[2]: 正規表現
□投稿者/ Hongliang 二等兵(5回)-(2006/02/14(Tue) 17:04:12)
Hongliang さんの Web サイト

分類:[.NET 全般] 

あれ。
[ ]
は、この中の任意の文字(not文字列)にマッチするんだから、
[a|b|c]
では a b c | のいずれかの文字にマッチしてしまいますよ?
[abc] が [a-c] と等価です。

0
引用返信 編集キー/
■2541 / inTopicNo.5)  Re[3]: 正規表現
□投稿者/ 中博俊 元帥(317回)-(2006/02/14(Tue) 18:03:06)
中博俊 さんの Web サイト

分類:[.NET 全般] 

orz
[A]|[B]|[C]

ですね。

orz

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -