首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅当找到匹配的n+时间时才使用正则表达式

仅当找到匹配的n+时间时才使用正则表达式
EN

Stack Overflow用户
提问于 2020-04-13 22:09:03
回答 1查看 37关注 0票数 1

我有以下正则表达式:

代码语言:javascript
运行
复制
/^(\b[A-Z0-9]\w*\s*)+$/

这是我用来匹配每个单词大写的帖子标题,它工作得很好,但我希望它只返回true,如果它匹配3次或更多(或者基本上,如果标题有3个以上的单词),因为我不希望它捕捉基本标题或单个单词。

我似乎弄不明白,当我尝试以下正则表达式时,没有匹配的内容:

代码语言:javascript
运行
复制
/(^(\b[A-Z0-9]\w*\s*)+$){3,}/

任何帮助都会非常感谢,因为我不能找出我做错了什么。

基本上它需要两件事: 1)标题必须至少有3个单词。2)标题中的每个单词必须大写(第一个字母大写)。

EN

回答 1

Stack Overflow用户

发布于 2020-04-13 23:49:01

这将匹配3个连续的大写单词

(?:[A-Z][a-z]+(?: |\?|,|:|!|-|$)+){3,}

说明

(?:...)表示它是一个不匹配的组

[A-Z][a-z]+一个大写的单词

( |\?|,|:|!|-|$)+后跟这些字符中的任何一个,至少一次

(...){3,}与这些条件至少匹配3次

Demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61189698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档