76 lines
1.7 KiB
Markdown
76 lines
1.7 KiB
Markdown
|
---
|
||
|
id: 587d7dba367417b2b2512ba8
|
||
|
title: Check for All or None
|
||
|
challengeType: 1
|
||
|
forumTopicId: 301338
|
||
|
dashedName: check-for-all-or-none
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
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.
|
||
|
|
||
|
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.
|
||
|
|
||
|
For example, there are slight differences in American and British English and you can use the question mark to match both spellings.
|
||
|
|
||
|
```js
|
||
|
let american = "color";
|
||
|
let british = "colour";
|
||
|
let rainbowRegex= /colou?r/;
|
||
|
rainbowRegex.test(american); // Returns true
|
||
|
rainbowRegex.test(british); // Returns true
|
||
|
```
|
||
|
|
||
|
# --instructions--
|
||
|
|
||
|
Change the regex `favRegex` to match both the American English (favorite) and the British English (favourite) version of the word.
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
Your regex should use the optional symbol, `?`.
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.source.match(/\?/).length > 0);
|
||
|
```
|
||
|
|
||
|
Your regex should match `"favorite"`
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.test('favorite'));
|
||
|
```
|
||
|
|
||
|
Your regex should match `"favourite"`
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.test('favourite'));
|
||
|
```
|
||
|
|
||
|
Your regex should not match `"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);
|
||
|
```
|