以下示例是我试图实现的结果:99Hello -> invalid(starts with numbers)He llo -> invalid(has two spaces)He -> invalid(minimum length 3)He llo -> validHe l l o -> validHel -> valid这是我尝试过的:[a-zA-Z][a-zA-Z ]{3,}
2 回答
波斯汪
TA贡献1811条经验 获得超4个赞
您可以根据需要使用此正则表达式:
/^(?!.* )[a-z][a-z ]{2,}/i
它对字符串中某处相邻的 2 个空格进行负前瞻,然后尝试匹配一个字母后跟 2 个或更多字母和/或空格。
let t = ['99Hello',
'He llo',
'He',
'He llo',
'He l l o',
'Hel'];
console.log(t.filter(v => /^(?!.* )[a-z][a-z ]{2,}/i.test(v)));
有只小跳蛙
TA贡献1824条经验 获得超8个赞
这是你想要的:
^[a-zA-Z]((?! {2})[a-zA-z ]){2,}$
开始和结束分隔符很重要。如果它至少是三个,则需要将要查找的数字设置为 2 以考虑后一组中未计算的第一个字符。
它还使用负前瞻,这是什么?!是。这意味着如果它发现 ?! 在匹配中它不被视为有效匹配。
我使用'{2}' 来表明我正在寻找两个空格,因为'' 可能会模棱两可。
如果您还没有,有很多在线资源可以让您测试您的正则表达式,以及能够查找语法。我个人使用https://regex101.com/。
- 2 回答
- 0 关注
- 187 浏览
添加回答
举报
0/150
提交
取消