2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 587d7dba367417b2b2512ba8
|
|
|
|
|
challengeType: 1
|
2020-08-04 15:14:01 +08:00
|
|
|
|
forumTopicId: 301338
|
2020-10-01 17:54:21 +02:00
|
|
|
|
title: 检查全部或无
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Description
|
2020-08-04 15:14:01 +08:00
|
|
|
|
<section id='description'>
|
|
|
|
|
有时,想要搜寻的匹配模式可能有不确定是否存在的部分。尽管如此,还是想检查它们。
|
|
|
|
|
为此,可以使用问号<code>?</code>指定可能存在的元素。这将检查前面的零个或一个元素。可以将此符号视为前面的元素是可选的。
|
|
|
|
|
例如,美式英语和英式英语略有不同,可以使用问号来匹配两种拼写。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
let american = "color";
|
|
|
|
|
let british = "colour";
|
|
|
|
|
let rainbowRegex= /colou?r/;
|
|
|
|
|
rainbowRegex.test(american); // Returns true
|
|
|
|
|
rainbowRegex.test(british); // Returns true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
## Instructions
|
2020-08-04 15:14:01 +08:00
|
|
|
|
<section id='instructions'>
|
|
|
|
|
修改正则表达式<code>favRegex</code>以匹配美式英语(favorite)和英式英语(favourite)的单词版本。
|
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
|
|
```yml
|
|
|
|
|
tests:
|
2020-08-04 15:14:01 +08:00
|
|
|
|
- text: 你的正则表达式应该使用可选符号<code>?</code>。
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(favRegex.source.match(/\?/).length > 0);
|
2020-08-04 15:14:01 +08:00
|
|
|
|
- text: "你的正则表达式应该匹配<code>'favorite'</code>。"
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(favRegex.test("favorite"));
|
2020-08-04 15:14:01 +08:00
|
|
|
|
- text: "你的正则表达式应该匹配<code>'favourite'</code>。"
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(favRegex.test("favourite"));
|
2020-08-04 15:14:01 +08:00
|
|
|
|
- text: "你的正则表达式不应该匹配<code>'fav'</code>。"
|
2020-02-18 01:40:55 +09:00
|
|
|
|
testString: assert(!favRegex.test("fav"));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
|
|
<div id='js-seed'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
let favWord = "favorite";
|
|
|
|
|
let favRegex = /change/; // Change this line
|
|
|
|
|
let result = favRegex.test(favWord);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Solution
|
|
|
|
|
<section id='solution'>
|
|
|
|
|
|
|
|
|
|
```js
|
2020-08-04 15:14:01 +08:00
|
|
|
|
let favWord = "favorite";
|
|
|
|
|
let favRegex = /favou?r/;
|
|
|
|
|
let result = favRegex.test(favWord);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
2020-08-04 15:14:01 +08:00
|
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
|
</section>
|