2016-09-22 41 views
0

我試圖找出如何使用正則表達式過濾以下例子C#中的正則表達式沒有空格 - 字符 - 下劃線

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

心中已經試圖在這裏與衆多的主題弄明白上和REL參考,但我只是絕對困惑和失落!

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

無論在哪裏都讓空白處處可見。

另外我想適應一個下劃線過濾器,但只是_不是每個特殊字符。

幫助,如果你可以參考我的一些文件,它也將是篦!

感謝

+1

不知道你需要什麼。如果您需要匹配2至40個可能包含ASCII字母和'_'的符號字符串,請使用'^ [a-zA-Z _] {2,40} $' –

+2

爲什麼不使用String.Trim方法 –

+0

對於修剪方法,它不會幫助*「test123test」 - >否* –

回答

1

如果你需要匹配2至40個符號的字符串,可以包含ASCII字母和_,使用

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

regex demo

C#聲明:

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

詳情小號

  • ^ - 串錨的開始
  • [a-zA-Z_]{2,40} - 2〜40(作爲{2,40}limiting quantifier)是小寫或大寫字母ASCII或_符號字符(的[...]character class構建體匹配僅有1個字符)
  • $ - 字符串錨的結束
+0

我添加了一些鏈接到文檔和參考頁面。 –

相關問題