--- title: Reuse Patterns Using Capture Groups --- ## Reuse Patterns Using Capture Group ## Hint 1: Given code below: ```javascript let testString = "test test test "; let reRegex =/(test)\s\1/; let result = reRegex.test(testString); ``` `result` will match only `test test` because `\1` in this example stands for the same text as most recently matched by the 1st capturing group `(test)`. If we were to lierally translate the regex, it would look something like this: ```js let re = /(test)\s\1; let literalRe = /test\stest; ``` Both `rea` and `literalRe` would match the same thing. ## Hint 2: Given the code below: ```javascript let testString = "test test test "; let reRegex =/(test)(\s)\1\2\1/; let result = reRegex.test(testString); ``` will match whole `test test test` because: `\1` repeats (test) `\2` repeats (\s) ## Hint 3: The code below: ```javascript let testString = "test test test test test test"; let reRegex =/(test)(\s)\1\2\1/g; let result = reRegex.test(testString); ``` because we used `\g`, our Regex doesn't return after first full match (`test test test`) and matched all repetitions. ## Spoiler Alert - Solution Ahead! ## Solution: ```javascript let repeatNum = "42 42 42"; let reRegex = /^(\d+)\s\1\s\1$/; let result = reRegex.test(repeatNum); ```