首页 文章

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

提问于
浏览
3

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

  • 只有字母

  • 单词之间有一个空格(不超过一个空格)

  • 最大长度50

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

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

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

例:

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

Hello this is an example
Hello
a b c

1 回答

  • 4

    试试这个:

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

    Demo

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

相关问题