简体   繁体   English

正则表达式总共不能超过3个字母

[英]Regular expression Cannot have more than 3 letters together

正则表达式不能同时包含3个以上的字母(即“ Joe4u”可以,但“ JoeL4u”不可以)我一直在尝试几种方法,但是似乎都不可行,我已经尝试了Lookahead和Lookbehind,但没有任何这只是一个我做了几次尝试

^(?=[A-Za-z]*[A-Za-z]{0,2}[^A-Za-z]*)(?=.{8,})

Just use ! 只需使用! to reverse the test 扭转测试

if (!/[a-zA-Z]{4}/.test(str)) {
  ...
}

How this works step by step 这是如何逐步进行的

  • /[a-zA-Z]{4}/.test(str) checks if the string contains four consecutive letters /[a-zA-Z]{4}/.test(str)检查字符串是否包含四个连续的字母
  • !... reverses the result !...反转结果

This LIF_HKN 's answer, thanks to him for the help 这个LIF_HKN的答案,感谢他的帮助

^([A-Za-z]{0,3}[^A-Za-z]+)*[A-Za-z]{0,3}$

You can play with it here Debuggex Demo 您可以在此处调试Debuggex演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM