2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 587d7dba367417b2b2512ba8
|
2020-12-16 00:37:30 -07:00
|
|
|
|
title: 检查全部或无
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 1
|
2020-08-04 15:14:01 +08:00
|
|
|
|
forumTopicId: 301338
|
2021-01-13 03:31:00 +01:00
|
|
|
|
dashedName: check-for-all-or-none
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
|
|
|
|
|
2020-08-04 15:14:01 +08:00
|
|
|
|
有时,想要搜寻的匹配模式可能有不确定是否存在的部分。尽管如此,还是想检查它们。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
|
|
|
|
为此,可以使用问号`?`指定可能存在的元素。这将检查前面的零个或一个元素。可以将此符号视为前面的元素是可选的。
|
|
|
|
|
|
2020-08-04 15:14:01 +08:00
|
|
|
|
例如,美式英语和英式英语略有不同,可以使用问号来匹配两种拼写。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
let american = "color";
|
|
|
|
|
let british = "colour";
|
|
|
|
|
let rainbowRegex= /colou?r/;
|
|
|
|
|
rainbowRegex.test(american); // Returns true
|
|
|
|
|
rainbowRegex.test(british); // Returns true
|
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --instructions--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
修改正则表达式`favRegex`以匹配美式英语(favorite)和英式英语(favourite)的单词版本。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
你的正则表达式应该使用可选符号`?`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(favRegex.source.match(/\?/).length > 0);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
你的正则表达式应该匹配`'favorite'`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(favRegex.test('favorite'));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
你的正则表达式应该匹配`'favourite'`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(favRegex.test('favourite'));
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
你的正则表达式不应该匹配`'fav'`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(!favRegex.test('fav'));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
2020-08-04 15:14:01 +08:00
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
let favWord = "favorite";
|
|
|
|
|
let favRegex = /change/; // Change this line
|
|
|
|
|
let result = favRegex.test(favWord);
|
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```js
|
|
|
|
|
let favWord = "favorite";
|
|
|
|
|
let favRegex = /favou?r/;
|
|
|
|
|
let result = favRegex.test(favWord);
|
|
|
|
|
```
|