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

时间:2014-06-13 17:31:17

标签: javascript regex

我不知道如何限制捕获组。

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

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

我认为这会捕获任何字符串:

  • 确切的两个字,
  • 每个字最少2个字符,
  • 整个字符串不超过15个字符。

但限制我的捕获组并不起作用。我可以限制捕获组吗?

PS。我在我的示例中使用JavaScript来测试正则表达式。

1 个答案:

答案 0 :(得分:8)

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

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

Working Demo

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