用于检查字符串的正则表达式只包含一个单词

时间:2011-12-16 16:00:46

标签: c# regex

我看到以下内容:

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

但是当字符串包含多个字符时,似乎会出错。有人可以帮助检查字符串中是否有多个单词的正则表达式吗?

3 个答案:

答案 0 :(得分:7)

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

单词边界\b在这里不起作用,因为模式将匹配每个单词。

如果您想允许使用非拉丁字符,可以使用简写版本:

^\w+$

答案 1 :(得分:3)

你的正则表达式只丢失了一个单件

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

你忘了说这个角色可以重复超过一次。这就是加号的原因,因此它只能接受1个字

答案 2 :(得分:0)

试试这个:"\b[a-zA-Z0-9_]+\b"。这将匹配任何一个或多个字符。