2011-12-16 112 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"。这将匹配任何这些字符一次或多次。

相关问题