当用户只能在文本框中输入1个单词时,我有一个工作正则表达式。 但是,如何调整它,允许2,3,4,5个单词?有时,我可能需要将代码更改为仅允许3个单词,例如。
这是我的正则表达式^([a-zA-Z_\-\.]+)$
答案 0 :(得分:1)
匹配2,3,4,5单个单词
^(\b[a-zA-Z_\-\.]+?\b\s*){2,5}$
匹配2或4个单词
^(\b[a-zA-Z_\-\.]+?\b\s*){2}$|^(\b[a-zA-Z_\-\.]+?\b\s*){4}$
or
^((\b[a-zA-Z_\-\.]+?\b\s*){2}|(\b[a-zA-Z_\-\.]+?\b\s*){4})$
但它在测试abc.def
和abc_def
=之后失败了(它找到了两个单词。\b
对你的词汇[a-zA-Z_\-\.]+
是错误的想法......
好的,就是这样。
2,3,4,5个单词
^([a-zA-Z_\-\.]+[^a-zA-Z_\-\.]+){1,4}[a-zA-Z_\-\.]+$
请注意,现在不允许使用最终的非字母符号。