4.0 KiB
4.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7dbb367417b2b2512baa | Reuse Patterns Using Capture Groups | 1 | Reutilizar patrones usando grupos de captura |
Description
capture groups
. Los paréntesis, (
y )
, se utilizan para encontrar subcadenas repetidas. Pones la expresión regular del patrón que se repetirá entre paréntesis. Para especificar dónde aparecerá esa cadena de repetición, use una barra invertida ( \
) y luego un número. Este número comienza en 1 y aumenta con cada grupo de captura adicional que use. Un ejemplo sería \1
para que coincida con el primer grupo. El siguiente ejemplo coincide con cualquier palabra que aparezca dos veces separada por un espacio: vamos a repeatStr = "regex regex";El uso del método
vamos a repeatRegex = / (\ w +) \ s \ 1 /;
repeatRegex.test (repeatStr); // Devuelve true
repeatStr.match (repeatRegex); // Devuelve ["regex regex", "regex"]
.match()
en una cadena devolverá una matriz con la cadena que coincide, junto con su grupo de captura. Instructions
capture groups
en reRegex
para hacer coincidir los números que se repiten solo tres veces en una cadena, cada uno separado por un espacio. Tests
tests:
- text: Su expresión regular debe usar la clase de caracteres abreviados para los dígitos.
testString: 'assert(reRegex.source.match(/\\d/), "Your regex should use the shorthand character class for digits.");'
- text: Su expresión regular debe reutilizar el grupo de captura dos veces.
testString: 'assert(reRegex.source.match(/\\\d/g).length === 2, "Your regex should reuse the capture group twice.");'
- text: Su expresión regular debe tener dos espacios que separan los tres números.
testString: 'assert(reRegex.source.match(/\\s/g).length === 2, "Your regex should have two spaces separating the three numbers.");'
- text: Su expresión regular debe coincidir con <code>"42 42 42"</code> .
testString: 'assert(reRegex.test("42 42 42"), "Your regex should match <code>"42 42 42"</code>.");'
- text: Su expresión regular debe coincidir con <code>"100 100 100"</code> .
testString: 'assert(reRegex.test("100 100 100"), "Your regex should match <code>"100 100 100"</code>.");'
- text: Su expresión regular no debe coincidir con <code>"42 42 42 42"</code> .
testString: 'assert.equal(("42 42 42 42").match(reRegex.source), null, "Your regex should not match <code>"42 42 42 42"</code>.");'
- text: Su expresión regular no debe coincidir con <code>"42 42"</code> .
testString: 'assert.equal(("42 42").match(reRegex.source), null, "Your regex should not match <code>"42 42"</code>.");'
- text: Su expresión regular no debe coincidir con <code>"101 102 103"</code> .
testString: 'assert(!reRegex.test("101 102 103"), "Your regex should not match <code>"101 102 103"</code>.");'
- text: Su expresión regular no debe coincidir con <code>"1 2 3"</code> .
testString: 'assert(!reRegex.test("1 2 3"), "Your regex should not match <code>"1 2 3"</code>.");'
- text: Su expresión regular debe coincidir con <code>"10 10 10"</code> .
testString: 'assert(reRegex.test("10 10 10"), "Your regex should match <code>"10 10 10"</code>.");'
Challenge Seed
let repeatNum = "42 42 42";
let reRegex = /change/; // Change this line
let result = reRegex.test(repeatNum);
Solution
// solution required