2021-06-15 07:49:18 +00:00
|
|
|
---
|
|
|
|
id: 587d7db4367417b2b2512b93
|
2021-07-21 15:23:20 +00:00
|
|
|
title: Encontrar mais do que o primeiro resultado
|
2021-06-15 07:49:18 +00:00
|
|
|
challengeType: 1
|
|
|
|
forumTopicId: 301342
|
|
|
|
dashedName: find-more-than-the-first-match
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Até agora você foi capaz apenas de extrair ou buscar um resultado de uma vez.
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
let testStr = "Repeat, Repeat, Repeat";
|
|
|
|
let ourRegex = /Repeat/;
|
|
|
|
testStr.match(ourRegex);
|
|
|
|
```
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
`match` retorna `["Repeat"]` aqui.
|
2021-06-15 07:49:18 +00:00
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Para buscar ou extrair um padrão além do primeiro resultado, você pode usar a flag `g` (de "global").
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
let repeatRegex = /Repeat/g;
|
|
|
|
testStr.match(repeatRegex);
|
|
|
|
```
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Aqui, `match` retorna o valor `["Repeat", "Repeat", "Repeat"]`
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
# --instructions--
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Usando a regex `starRegex`, encontre e extraia ambas ocorrências da palavra `Twinkle` da string `twinkleStar`.
|
2021-06-15 07:49:18 +00:00
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
**Obs:**
|
|
|
|
Você pode usar múltiplas flags em uma regex: `/search/gi`
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Sua regex `starRegex` deve usar a flag `g`
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(starRegex.flags.match(/g/).length == 1);
|
|
|
|
```
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Sua regex `starRegex` deve usar a flag de ignorar caixa, `i`
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(starRegex.flags.match(/i/).length == 1);
|
|
|
|
```
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Seu resultado deve conter ambas as ocorrências da palavra `Twinkle`
|
2021-06-15 07:49:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert(
|
|
|
|
result.sort().join() ==
|
|
|
|
twinkleStar
|
|
|
|
.match(/twinkle/gi)
|
|
|
|
.sort()
|
|
|
|
.join()
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
2021-07-16 05:33:16 +00:00
|
|
|
Seu resultado, `result`, deve conter dois elementos.
|
2021-06-15 07:49:18 +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);
|
|
|
|
```
|