捕获组
搜寻重复的子字符串。括号(
和)
可以用来匹配重复的子字符串。只需要把重复匹配模式的正则表达式放在括号中即可。
要指定重复字符串将出现的位置,可以使用反斜杠(\
)后接一个数字。这个数字从 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"));
```