当用户只能在文本框中输入 1 个单词时,我有一个有效的正则表达式。但是,我该如何调整它,以允许 2、3、4、5 个单词?有时,我可能需要更改代码以仅允许 3 个单词,例如。
这是我的正则表达式^([a-zA-Z_\-\.]+)$
用于匹配 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_\-\.]+$
请注意,现在最后不允许使用非字母符号。