Files

109 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

---
id: 587d7db7367417b2b2512b9c
title: Trovare uno o più criminali in una caccia
challengeType: 1
forumTopicId: 301343
dashedName: find-one-or-more-criminals-in-a-hunt
---
# --description--
È ora di fare un po' di pausa e testare le tue nuove abilità di scrittura di espressioni regolari. Un gruppo di criminali è evaso dalla prigione ed è scappato via, ma non sai quanti. Tuttavia, sai che stanno vicini quando sono in mezzo ad altre persone. Tu sei responsabile della ricerca di tutti i criminali contemporaneamente.
Ecco un esempio per rivedere come farlo:
L'espressione regolare `/z+/` riconosce la lettera `z` quando appare una o più volte in una riga. Troverà corrispondenze in tutte le seguenti stringhe:
```js
"z"
"zzzzzz"
"ABCzzzz"
"zzzzABC"
"abczzzzzzzzzzzzzzzzzzzzzabc"
```
Ma non trova corrispondenze nelle seguenti stringhe poiché non ci sono caratteri `z`:
```js
""
"ABC"
"abcabc"
```
# --instructions--
Scrivi un'espressione regolare greedy che trovi uno o più criminali all'interno di un gruppo di altre persone. Un criminale è rappresentato dalla lettera maiuscola `C`.
# --hints--
La tua espressione regolare dovrebbe riconoscere un criminale (`C`) nella stringa `C`
```js
assert('C'.match(reCriminals) && 'C'.match(reCriminals)[0] == 'C');
```
La tua espressione regolare dovrebbe riconoscere due criminali (`CC`) nella stringa `CC`
```js
assert('CC'.match(reCriminals) && 'CC'.match(reCriminals)[0] == 'CC');
```
La tua espressione regolare dovrebbe riconoscere tre criminali (`CCC`) nella stringa `P1P5P4CCCcP2P6P3`.
```js
assert(
'P1P5P4CCCcP2P6P3'.match(reCriminals) &&
'P1P5P4CCCcP2P6P3'.match(reCriminals)[0] == 'CCC'
);
```
La tua espressione regolare dovrebbe riconoscere cinque criminali (`CCCCC`) nella stringa `P6P2P7P4P5CCCCCP3P1`
```js
assert(
'P6P2P7P4P5CCCCCP3P1'.match(reCriminals) &&
'P6P2P7P4P5CCCCCP3P1'.match(reCriminals)[0] == 'CCCCC'
);
```
La tua espressione regolare non dovrebbe riconoscere nessun criminale nella stringa vuota `""`
```js
reCriminals.lastIndex = 0;
assert(!reCriminals.test(''));
```
La tua espressione regolare non dovrebbe riconoscere nessun criminale nella stringa `P1P2P3`
```js
reCriminals.lastIndex = 0;
assert(!reCriminals.test('P1P2P3'));
```
La tua espressione regolare dovrebbe riconoscere cinquanta criminali (`CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC`) nella stringa `P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3`.
```js
assert(
'P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3'.match(
reCriminals
) &&
'P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3'.match(
reCriminals
)[0] == 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
);
```
# --seed--
## --seed-contents--
```js
let reCriminals = /./; // Change this line
```
# --solutions--
```js
let reCriminals = /C+/; // Change this line
```