0

当用户只能在文本框中输入 1 个单词时,我有一个有效的正则表达式。但是,我该如何调整它,以允许 2、3、4、5 个单词?有时,我可能需要更改代码以仅允许 3 个单词,例如。

这是我的正则表达式^([a-zA-Z_\-\.]+)$

4

1 回答 1

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_\-\.]+$

请注意,现在最后不允许使用非字母符号。

于 2012-08-17T10:55:32.060 回答