Javascript 正则表达式:只允许字母和单个空格,并且必须以字母开头,并且最小长度必须为3

Javascript 正则表达式:只允许字母和单个空格,并且必须以字母开头,并且最小长度必须为3,javascript,php,regex,Javascript,Php,Regex,以下是我试图实现的结果: 99Hello -> invalid(starts with numbers) He llo -> invalid(has two spaces) He -> invalid(minimum length 3) He llo -> valid He l l o -> valid Hel -> valid 以下是我尝试过的: [a-zA-Z][a-zA-Z ]{3,} 以下是您想要的: ^[a-zA-Z]((?! {2})[a-z

以下是我试图实现的结果:

99Hello -> invalid(starts with numbers)
He  llo -> invalid(has two spaces)
He -> invalid(minimum length 3)
He llo -> valid
He l l o -> valid
Hel -> valid
以下是我尝试过的:

[a-zA-Z][a-zA-Z ]{3,}
以下是您想要的:

^[a-zA-Z]((?! {2})[a-zA-z ]){2,}$
开始和结束分隔符很重要。如果最小值为3,则需要将要查找的数字设置为2,以考虑后一组中未计数的第一个字符

它还使用了一个负前瞻,这是什么?!是这意味着,如果它找到了后面的东西?!在匹配中,它被视为无效匹配

我已经使用了{2}来很明显地说明我在寻找两个空格,因为“”可能是不明确的


如果您还没有这样做,那么有很多在线资源可以让您测试您的正则表达式,并能够查找语法。我个人使用。

您可以根据需要使用此正则表达式:

/^(?!.*  )[a-z][a-z ]{2,}/i
它对字符串中的某个位置相邻的2个空格具有负前瞻性,然后它尝试匹配一个字母,后跟2个或多个字母和/或空格

let t=['99Hello',
“他”是什么意思,
"他",,
“他”是什么意思,
“他来了”,
“Hel”];

console.log(t.filter(v=>/^(?)[a-z][a-z]{2,}/i.test(v))这在什么方面不起作用?请提供更多信息。谢谢我的第二个例子@NickCan有多个空格,只要它们不相邻?e、 g.
He l o
有效吗?
He l o
有效吗?是的,尼克