捕获组搜寻重复的子字符串。括号(和)可以用来匹配重复的子字符串。只需要把重复匹配模式的正则表达式放在括号中即可。
要指定重复字符串将出现的位置,可以使用反斜杠(\)后接一个数字。这个数字从 1 开始,随着你使用的每个捕获组的增加而增加。这里有一个示例,\1可以匹配第一个组。
下面的示例匹配任意两个被空格分割的单词:
```js
let repeatStr = "regex regex";
let repeatRegex = /(\w+)\s\1/;
repeatRegex.test(repeatStr); // Returns true
repeatStr.match(repeatRegex); // Returns ["regex regex", "regex"]
```
在字符串上使用.match()方法将返回一个数组,其中包含它匹配的字符串及其捕获组。
reRegex中使用捕获组,以匹配在字符串中仅重复三次的数字,每一个都由空格分隔。
'42 42 42'。"
testString: assert(reRegex.test("42 42 42"));
- text: "你的正则表达式应该匹配'100 100 100'。"
testString: assert(reRegex.test("100 100 100"));
- text: "你的正则表达式不应该匹配'42 42 42 42'。"
testString: assert.equal(("42 42 42 42").match(reRegex.source), null);
- text: "你的正则表达式不应该匹配'42 42'。"
testString: assert.equal(("42 42").match(reRegex.source), null);
- text: "你的正则表达式不应该匹配'101 102 103'。"
testString: assert(!reRegex.test("101 102 103"));
- text: "你的正则表达式不应该匹配'1 2 3'。"
testString: assert(!reRegex.test("1 2 3"));
- text: "你的正则表达式应该匹配'10 10 10'。"
testString: assert(reRegex.test("10 10 10"));
```