字母的正则表达式,单词之间只有一个空格

时间:2012-09-07 07:20:42

标签: regex asp.net-mvc-3

美好的一天朋友,

我的ASP.Net MVC表单中有一个文本字段,为此我需要的内容如下:

字段应仅匹配字词之间具有单个空格的字母

  • 句子的开头和结尾不允许有空格(in if字段包含多个单词的情况)
  • 开头不允许有空格 单词的结尾(如果if字段包含单个单词)
  • 除了_
  • 外,不允许使用任何特殊字符
  • 不允许双重下划线
  • 在单词/句子的开头和结尾不允许得分

我尝试了以下内容,但失败了

@"^[a-zA-Z_\s]+\s[a-zA-Z\s_]+$ 

怎么做?

4 个答案:

答案 0 :(得分:3)

这:

([a-zA-Z]+(_[a-zA-Z]+)*)

是一个词。

这是你的正则表达式:

^([a-zA-Z]+(_[a-zA-Z]+)*)(\s([a-zA-Z]+(_[a-zA-Z]+)*))*$

答案 1 :(得分:2)

你的正则表达式说:匹配任意数量的字符和空格,而不是空格,然后是任意数量的字符和空格。试试这个:

@"^([\w]+\s)*[\w]+$"

这说:“取任意数量的字符后跟空格零次或多次,然后任意数量的字符大于零”

参考此参考:Regex-Reference

答案 2 :(得分:0)

<asp:RegularExpressionValidator ID="RegularExpDisplayName" runat="server" Display="Dynamic" ValidationGroup="updateuser"
                                ErrorMessage="Kindly Provide Alphabet,Singlespace and numbers Tim Berners2 Tim.Berners "
                                ControlToValidate="txtDisplayName"
                                ValidationExpression="^[A-Za-z0-9]?(?:[A-Za-z0-9]+[._\s])+[A-Za-z0-9]+$"></asp:RegularExpressionValidator>

答案 3 :(得分:0)

你可以像这样写作

它匹配第一个字符必须是一个字母词,
以及匹配任意数量的字符/连字符/下划线/空格

 [RegularExpression(@"^[a-zA-Z]+[ a-zA-Z-_]*$", ErrorMessage = "Use Characters only")]