正则表达式允许字母,单词之间的一个空格和总长度50

时间:2014-10-01 13:04:03

标签: c# regex

我尝试使用以下条件构建正则表达式:

  • 只有字母
  • 单词之间的一个空格(不超过一个空格)
  • 最大长度50

这就是我到目前为止所做的:

^(([A-Za-z]+( [A-Za-z])+){1,50})$

这允许我验证单词之间的空格和仅字母条件,但它不适用于长度,并且它不适用于没有空格的单词,例如:hello。有人可以帮我这个吗?

示例:

我需要什么: 允许句子(最大长度为50)的正则表达式如下:

Hello this is an example
Hello
a b c

1 个答案:

答案 0 :(得分:4)

试试这个:

^\b(?!.*?\s{2})[A-Za-z ]{1,50}\b$

Demo

[A-Za-z ]{1,50}将检查字符和长度,而否定前瞻(?!.*?\s{2})将检查空格条件。 (\ b)禁止两端的空白区域。