2016-09-22 19 views
0

私は正規表現で、以下の例C#の正規表現がない空白 - 文字 - 下線

" test " -> no 
"test" -> yes 
"test_test" -> yes 
"test123test" -> no 

をフィルタリングする方法を把握しようとしているI'vはこことで、多くのトピックでそれを把握しようとしましたRELのリファレンスですが、私は絶対に混乱してしまいました。

@"^[^a-zA-Z\s]{2-40}$" 
@"^[^\d\s]{2-40}$" 

の両方が空白を介してどこでも通過しています。

また、アンダースコアフィルタに収まるようにしますが、すべての特殊文字ではありません。

助けを借りて、あなたも私にいくつかのドキュメントを参照することができれば、それは怒ってしまうでしょう!

おかげ

+1

あなたが必要なものをわかりません。 ASCII文字と '_'を含むことができる2〜40のシンボル文字列と一致する必要がある場合は、'^[a-zA-Z _] {2,40} $ ' –

+2

を使用してください。String.Trimメソッドを使用しない理由 –

+0

Asトリミング方法については、 "test123test" - > no * –

答えて

1

あなたはregex demo

C#の宣言を参照してください

^[a-zA-Z_]{2,40}$ 

を使用して、ASCII文字と_を含むことが40記号列に2を一致させる必要がある場合:

string pat = @"^[a-zA-Z_]{2,40}$"; 

詳細S

  • ^ - 文字列アンカーの開始
  • [a-zA-Z_]{2,40}から2〜40({2,40}limiting quantifierように)大文字または小文字のASCII文字または_シンボルである文字([...]character class構築整合でありますちょうど1文字)
  • $ - 文字列の末尾のアンカー
+0

ドキュメントとリファレンスページへのリンクをいくつか追加しました。 –

関連する問題