java - 正则表达式匹配 2 个或 3 个单词,但不匹配 1 个单词

标签 java regex

我目前使用以下正则表达式来检查输入是否仅为 2 或 3 个单词。单词不应包含任何数值。

^\s*([a-zA-Z]+\s*){2,3}$

然而,这允许输入“Tommy”(1 个单词)在不应该被允许的时候被允许。

谢谢

最佳答案

你可以实现单词边界,如

^\s*(?:(?:\b[a-zA-Z]+\b)\s*){2,3}$
#         -^-        -^- 

参见 a demo on regex101.com .

关于java - 正则表达式匹配 2 个或 3 个单词,但不匹配 1 个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47001183/

相关文章:

javascript - 如何在 JavaScript 中验证电子邮件地址?

javascript - 正则表达式 JS : Matching string between two strings including newlines

regex - 是否有任何正则表达式模式来匹配 Excel 工作表名称和地址,即单元格引用

java - 卡在使用smack制作聊天客户端的第一步

Java 双链表前一个指针未正确分配

java - 执行 GET 请求时实现 token 样式安全性

java - 在午夜运行 Spring cron 作业

java - Swing 绘画问题?

javascript - 验证字符串以匹配数字/ float

正则表达式:否定字符