2018-09-30 23:01:58 +01:00
---
id: 587d7dba367417b2b2512ba8
title: Check for All or None
challengeType: 1
2019-08-05 09:17:33 -07:00
forumTopicId: 301338
2021-01-13 03:31:00 +01:00
dashedName: check-for-all-or-none
2018-09-30 23:01:58 +01:00
---
2020-11-27 19:02:05 +01:00
# --description--
2018-09-30 23:01:58 +01:00
Sometimes the patterns you want to search for may have parts of it that may or may not exist. However, it may be important to check for them nonetheless.
2020-11-27 19:02:05 +01:00
You can specify the possible existence of an element with a question mark, `?` . This checks for zero or one of the preceding element. You can think of this symbol as saying the previous element is optional.
2018-09-30 23:01:58 +01:00
For example, there are slight differences in American and British English and you can use the question mark to match both spellings.
2019-05-17 06:20:30 -07:00
```js
let american = "color";
let british = "colour";
let rainbowRegex= /colou?r/;
rainbowRegex.test(american); // Returns true
rainbowRegex.test(british); // Returns true
```
2020-11-27 19:02:05 +01:00
# --instructions--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
Change the regex `favRegex` to match both the American English (favorite) and the British English (favourite) version of the word.
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
# --hints--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
Your regex should use the optional symbol, `?` .
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
favRegex.lastIndex = 0;
assert(favRegex.source.match(/\?/).length > 0);
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
Your regex should match `"favorite"`
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
favRegex.lastIndex = 0;
assert(favRegex.test('favorite'));
```
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
Your regex should match `"favourite"`
2018-09-30 23:01:58 +01:00
```js
2020-11-27 19:02:05 +01:00
favRegex.lastIndex = 0;
assert(favRegex.test('favourite'));
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
Your regex should not match `"fav"`
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
favRegex.lastIndex = 0;
assert(!favRegex.test('fav'));
```
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
# --seed--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
## --seed-contents--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
let favWord = "favorite";
let favRegex = /change/; // Change this line
let result = favRegex.test(favWord);
```
# --solutions--
2018-09-30 23:01:58 +01:00
```js
2019-02-17 22:14:19 +05:30
let favWord = "favorite";
let favRegex = /favou?r/;
let result = favRegex.test(favWord);
2018-09-30 23:01:58 +01:00
```