2021-02-06 04:42:36 +00:00
|
|
|
---
|
|
|
|
id: 587d7db4367417b2b2512b93
|
2021-03-26 20:12:17 +05:30
|
|
|
title: Encuentra más que la primera coincidencia
|
2021-02-06 04:42:36 +00:00
|
|
|
challengeType: 1
|
|
|
|
forumTopicId: 301342
|
|
|
|
dashedName: find-more-than-the-first-match
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Hasta ahora, sólo has podido extraer o buscar un patrón una vez.
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
let testStr = "Repeat, Repeat, Repeat";
|
|
|
|
let ourRegex = /Repeat/;
|
|
|
|
testStr.match(ourRegex);
|
|
|
|
```
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Aquí `match` devolverá `["Repeat"]`.
|
|
|
|
|
|
|
|
Para buscar o extraer un patrón más de una vez, puedes utilizar la bandera `g`.
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
let repeatRegex = /Repeat/g;
|
|
|
|
testStr.match(repeatRegex);
|
|
|
|
```
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Y aquí `match` devuelve el valor `["Repeat", "Repeat", "Repeat"]`
|
|
|
|
|
2021-02-06 04:42:36 +00:00
|
|
|
# --instructions--
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Utilizando la expresión regular `starRegex`, encuentra y extrae ambas palabras `Twinkle` de la cadena `twinkleStar`.
|
2021-02-06 04:42:36 +00:00
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
**Nota**
|
|
|
|
En tu expresión regular puedes utilizar múltiples banderas, como `/search/gi`
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
La expresión regular `starRegex` debe utilizar la bandera global `g`
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(starRegex.flags.match(/g/).length == 1);
|
|
|
|
```
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Tu expresión regular `starRegex` debe utilizar la bandera que no distingue entre mayúsculas y minúsculas `i`
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(starRegex.flags.match(/i/).length == 1);
|
|
|
|
```
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Tu coincidencia (match) debe coincidir con ambas apariciones de la palabra `Twinkle`
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(
|
|
|
|
result.sort().join() ==
|
|
|
|
twinkleStar
|
|
|
|
.match(/twinkle/gi)
|
|
|
|
.sort()
|
|
|
|
.join()
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
2021-03-26 20:12:17 +05:30
|
|
|
Tu coincidencia `result` debe tener dos elementos en él.
|
2021-02-06 04:42:36 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(result.length == 2);
|
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
|
|
|
let twinkleStar = "Twinkle, twinkle, little star";
|
|
|
|
let starRegex = /change/; // Change this line
|
|
|
|
let result = twinkleStar; // Change this line
|
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
let twinkleStar = "Twinkle, twinkle, little star";
|
|
|
|
let starRegex = /twinkle/gi;
|
|
|
|
let result = twinkleStar.match(starRegex);
|
|
|
|
```
|