78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 587d7dba367417b2b2512ba8 | ||
|  | title: Riconoscere tutto o niente | ||
|  | challengeType: 1 | ||
|  | forumTopicId: 301338 | ||
|  | dashedName: check-for-all-or-none | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | A volte i pattern che vuoi cercare possono avere parti che possono esistere o meno. Del resto può essere importante verificarle comunque. | ||
|  | 
 | ||
|  | È possibile specificare la possibile esistenza di un elemento con un punto interrogativo, `?`. Questo controlla la presenza di zero o di uno dell'elemento precedente. Puoi pensare a questo simbolo come a un modo per dire che l'elemento precedente è opzionale. | ||
|  | 
 | ||
|  | Ad esempio, ci sono lievi differenze in inglese americano e britannico e si può utilizzare il punto interrogativo per trovare entrambe le ortografie. | ||
|  | 
 | ||
|  | ```js | ||
|  | let american = "color"; | ||
|  | let british = "colour"; | ||
|  | let rainbowRegex= /colou?r/; | ||
|  | rainbowRegex.test(american); | ||
|  | rainbowRegex.test(british); | ||
|  | ``` | ||
|  | 
 | ||
|  | Entrambi gli usi del metodo `test` restituiranno `true`. | ||
|  | 
 | ||
|  | # --instructions--
 | ||
|  | 
 | ||
|  | Cambia l'espressione regolare `favRegex` in modo da riconoscere sia la versione inglese Americana (`favorite`) che quella Britannica (`favourite`) della parola. | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | La tua espressione regolare dovrebbe usare il simbolo opzionale `?`. | ||
|  | 
 | ||
|  | ```js | ||
|  | favRegex.lastIndex = 0; | ||
|  | assert(favRegex.source.match(/\?/).length > 0); | ||
|  | ``` | ||
|  | 
 | ||
|  | La tua espressione regolare dovrebbe riconoscere la stringa `favorite` | ||
|  | 
 | ||
|  | ```js | ||
|  | favRegex.lastIndex = 0; | ||
|  | assert(favRegex.test('favorite')); | ||
|  | ``` | ||
|  | 
 | ||
|  | La tua espressione regolare dovrebbe riconoscere la stringa `favourite` | ||
|  | 
 | ||
|  | ```js | ||
|  | favRegex.lastIndex = 0; | ||
|  | assert(favRegex.test('favourite')); | ||
|  | ``` | ||
|  | 
 | ||
|  | La tua espressione regolare non dovrebbe riconoscere la stringa `fav` | ||
|  | 
 | ||
|  | ```js | ||
|  | favRegex.lastIndex = 0; | ||
|  | assert(!favRegex.test('fav')); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --seed--
 | ||
|  | 
 | ||
|  | ## --seed-contents--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | let favWord = "favorite"; | ||
|  | let favRegex = /change/; // Change this line | ||
|  | let result = favRegex.test(favWord); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --solutions--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | let favWord = "favorite"; | ||
|  | let favRegex = /favou?r/; | ||
|  | let result = favRegex.test(favWord); | ||
|  | ``` |