Files

96 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 587d7db9367417b2b2512ba6
title: 只指定匹配的下限
challengeType: 1
forumTopicId: 301366
dashedName: specify-only-the-lower-number-of-matches
---
# --description--
可以使用帶有花括號的數量說明符來指定匹配模式的上下限。 但有時候只想指定匹配模式的下限而不需要指定上限。
爲此,在第一個數字後面跟一個逗號即可。
例如,要匹配至少出現 `3` 次字母 `a` 的字符串 `hah`,正則表達式應該是 `/ha{3,}h/`
```js
let A4 = "haaaah";
let A2 = "haah";
let A100 = "h" + "a".repeat(100) + "h";
let multipleA = /ha{3,}h/;
multipleA.test(A4);
multipleA.test(A2);
multipleA.test(A100);
```
按順序排列,三次 `test` 調用將返回值 `true``false``true`
# --instructions--
修改正則表達式 `haRegex`,匹配包含四個或更多字母 `z` 的單詞 `Hazzah`
# --hints--
你的正則表達式應該使用花括號。
```js
assert(haRegex.source.match(/{.*?}/).length > 0);
```
你的正則表達式不應匹配字符串 `Hazzah`
```js
haRegex.lastIndex = 0;
assert(!haRegex.test('Hazzah'));
```
你的正則表達式不應匹配字符串 `Hazzzah`
```js
haRegex.lastIndex = 0;
assert(!haRegex.test('Hazzzah'));
```
你的正則表達式應該匹配字符串 `Hazzzzah`
```js
assert('Hazzzzah'.match(haRegex)[0].length === 8);
```
你的正則表達式應該匹配字符串 `Hazzzzzah`
```js
assert('Hazzzzzah'.match(haRegex)[0].length === 9);
```
你的正則表達式應該匹配字符串 `Hazzzzzzah`
```js
assert('Hazzzzzzah'.match(haRegex)[0].length === 10);
```
你的正則表達式應該匹配包含 30 個字母 `z``Hazzah`
```js
assert('Hazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzah'.match(haRegex)[0].length === 34);
```
# --seed--
## --seed-contents--
```js
let haStr = "Hazzzzah";
let haRegex = /change/; // Change this line
let result = haRegex.test(haStr);
```
# --solutions--
```js
let haStr = "Hazzzzah";
let haRegex = /Haz{4,}ah/; // Change this line
let result = haRegex.test(haStr);
```