freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-an.../regular-expressions/specify-only-the-lower-numb...

80 lines
2.3 KiB
Markdown
Raw Normal View History

---
id: 587d7db9367417b2b2512ba6
title: Specify Only the Lower Number of Matches
challengeType: 1
---
## Description
<section id='description'>
You can specify the lower and upper number of patterns with <code>quantity specifiers</code> using curly brackets. Sometimes you only want to specify the lower number of patterns with no upper limit.
To only specify the lower number of patterns, keep the first number followed by a comma.
For example, to match only the string <code>"hah"</code> with the letter <code>a</code> appearing at least <code>3</code> times, your regex would be <code>/ha{3,}h/</code>.
```js
let A4 = "haaaah";
let A2 = "haah";
let A100 = "h" + "a".repeat(100) + "h";
let multipleA = /ha{3,}h/;
multipleA.test(A4); // Returns true
multipleA.test(A2); // Returns false
multipleA.test(A100); // Returns true
```
</section>
## Instructions
<section id='instructions'>
Change the regex <code>haRegex</code> to match the word <code>"Hazzah"</code> only when it has four or more letter <code>z</code>'s.
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: Your regex should use curly brackets.
testString: assert(haRegex.source.match(/{.*?}/).length > 0);
- text: Your regex should not match <code>"Hazzah"</code>
testString: assert(!haRegex.test("Hazzah"));
- text: Your regex should not match <code>"Hazzzah"</code>
testString: assert(!haRegex.test("Hazzzah"));
- text: Your regex should match <code>"Hazzzzah"</code>
testString: assert("Hazzzzah".match(haRegex)[0].length === 8);
- text: Your regex should match <code>"Hazzzzzah"</code>
testString: assert("Hazzzzzah".match(haRegex)[0].length === 9);
- text: Your regex should match <code>"Hazzzzzzah"</code>
testString: assert("Hazzzzzzah".match(haRegex)[0].length === 10);
- text: Your regex should match <code>"Hazzah"</code> with 30 <code>z</code>'s in it.
testString: assert("Hazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzah".match(haRegex)[0].length === 34);
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
let haStr = "Hazzzzah";
let haRegex = /change/; // Change this line
let result = haRegex.test(haStr);
```
</div>
</section>
## Solution
<section id='solution'>
```js
let haStr = "Hazzzzah";
let haRegex = /Haz{4,}ah/; // Change this line
let result = haRegex.test(haStr);
```
</section>