78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
![]() |
---
|
||
|
id: 587d7dba367417b2b2512ba8
|
||
|
title: 檢查全部或無
|
||
|
challengeType: 1
|
||
|
forumTopicId: 301338
|
||
|
dashedName: check-for-all-or-none
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
有時,想要搜尋的匹配模式可能有不確定是否存在的部分。 儘管如此,還是想檢查它們。
|
||
|
|
||
|
爲此,可以使用問號 `?` 指定可能存在的元素。 這將檢查前面的零個或一個元素。 可以將此符號視爲前面的元素是可選的。
|
||
|
|
||
|
例如,美式英語和英式英語略有不同,可以使用問號來匹配兩種拼寫。
|
||
|
|
||
|
```js
|
||
|
let american = "color";
|
||
|
let british = "colour";
|
||
|
let rainbowRegex= /colou?r/;
|
||
|
rainbowRegex.test(american);
|
||
|
rainbowRegex.test(british);
|
||
|
```
|
||
|
|
||
|
上面的 `test` 都會返回 `true`。
|
||
|
|
||
|
# --instructions--
|
||
|
|
||
|
修改正則表達式 `favRegex` 以匹配美式英語(`favorite`)和英式英語(`favourite`)的單詞版本。
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
你的正則表達式應該使用可選符號 `?`。
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.source.match(/\?/).length > 0);
|
||
|
```
|
||
|
|
||
|
你的正則表達式應該匹配 `favorite`。
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.test('favorite'));
|
||
|
```
|
||
|
|
||
|
你的正則表達式應該匹配 `favourite`。
|
||
|
|
||
|
```js
|
||
|
favRegex.lastIndex = 0;
|
||
|
assert(favRegex.test('favourite'));
|
||
|
```
|
||
|
|
||
|
你的正則表達式不應該匹配 `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);
|
||
|
```
|