2011-12-16 108 views
3

我表現出以下幾點:正則表達式來檢查一個字符串只包含一個字

[RegularExpression(@"\b*[a-zA-Z0-9_]\b", ErrorMessage = "Enter a single work account name please")] 

但似乎當一個字符串包含多個字符給出錯誤信息。有人可以幫助使用正則表達式來檢查字符串中是否有多個單詞?

+0

你究竟想做什麼?檢查「字符串中是否有多個單詞」或者檢查「字符串是否包含多個字符」? – 2011-12-16 16:06:21

回答

3

有唯一缺少的一個單件到你的正則表達式

@"^\b[a-zA-Z0-9_]+\b$" 

你忘了聲明的字符可以重複1倍以上。這對加號的原因,因此,它可能只接受1個字

+0

這不*滿足只允許一個單詞的要求。通過「富酒吧」,你會得到兩場比賽。你需要`^ ... $`而不是字邊界`\ b`。 – Jay 2011-12-16 16:13:49

+0

@Jay感謝您指出 – jclozano 2011-12-16 16:17:16

5
^[a-zA-Z0-9_]+$ 

字邊界\b不要在這裏工作,因爲該模式將匹配每個單詞。

如果你希望允許非拉丁字符,你可以使用簡寫版本:

^\w+$ 
0

試試這個:"\b[a-zA-Z0-9_]+\b"。這將匹配任何這些字符一次或多次。

相關問題