Javascript 如何限制正则表达式捕获组?

Javascript 如何限制正则表达式捕获组?,javascript,regex,Javascript,Regex,我不知道怎样才能限制一个捕获群 如果我有这样一个正则表达式: /^(\w{2,}\s\w{2,}){4,15}$/ 我认为这将捕获任何字符串: 两个字, 每个单词至少有2个字符长 整个字符串长度不超过15个字符 但是我的抓捕小组的限制不起作用。我可以限制捕获组吗 另外,我正在使用JavaScript测试示例中的正则表达式。这个基于前瞻性的正则表达式应该适合您: /^(?=.{4,15}$)\w{2,}\s\w{2,}$/ 您的正则表达式:^(\w{2,}\s\w{2,}{4,15}$基本

我不知道怎样才能限制一个捕获群

如果我有这样一个正则表达式:

/^(\w{2,}\s\w{2,}){4,15}$/
我认为这将捕获任何字符串:

  • 两个字,
  • 每个单词至少有2个字符长
  • 整个字符串长度不超过15个字符
但是我的抓捕小组的限制不起作用。我可以限制捕获组吗


另外,我正在使用JavaScript测试示例中的正则表达式。

这个基于前瞻性的正则表达式应该适合您:

/^(?=.{4,15}$)\w{2,}\s\w{2,}$/

您的正则表达式:
^(\w{2,}\s\w{2,}{4,15}$
基本上意味着一个字符串应该有4到15个实例,其中包含两个单词,其中至少两个字符由空格分隔。

@Nano
{4,15}
本质上是说捕获的组可以出现4到15次。您想限制实际字符数。@Nano:请参阅ExplosionPills的评论和我编辑的答案。facepalm。。。我很尴尬:S。。。既然你提到了。。。谢谢对于这种特殊情况,您也可以使用
(?!.{16})
,或者更有效的:
^\w{2}(?。{14})\w*\s\w{2,}$