* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2.0 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7db9367417b2b2512ba5 | Specify Upper and Lower Number of Matches | 1 | 301367 | specify-upper-and-lower-number-of-matches |
--description--
Recall that you use the plus sign +
to look for one or more characters and the asterisk *
to look for zero or more characters. These are convenient but sometimes you want to match a certain range of patterns.
You can specify the lower and upper number of patterns with quantity specifiers. Quantity specifiers are used with curly brackets ({
and }
). You put two numbers between the curly brackets - for the lower and upper number of patterns.
For example, to match only the letter a
appearing between 3
and 5
times in the string "ah"
, your regex would be /a{3,5}h/
.
let A4 = "aaaah";
let A2 = "aah";
let multipleA = /a{3,5}h/;
multipleA.test(A4); // Returns true
multipleA.test(A2); // Returns false
--instructions--
Change the regex ohRegex
to match the entire phrase "Oh no"
only when it has 3
to 6
letter h
's.
--hints--
Your regex should use curly brackets.
assert(ohRegex.source.match(/{.*?}/).length > 0);
Your regex should not match "Ohh no"
assert(!ohRegex.test('Ohh no'));
Your regex should match "Ohhh no"
assert('Ohhh no'.match(ohRegex)[0].length === 7);
Your regex should match "Ohhhh no"
assert('Ohhhh no'.match(ohRegex)[0].length === 8);
Your regex should match "Ohhhhh no"
assert('Ohhhhh no'.match(ohRegex)[0].length === 9);
Your regex should match "Ohhhhhh no"
assert('Ohhhhhh no'.match(ohRegex)[0].length === 10);
Your regex should not match "Ohhhhhhh no"
assert(!ohRegex.test('Ohhhhhhh no'));
--seed--
--seed-contents--
let ohStr = "Ohhh no";
let ohRegex = /change/; // Change this line
let result = ohRegex.test(ohStr);
--solutions--
let ohStr = "Ohhh no";
let ohRegex = /Oh{3,6} no/; // Change this line
let result = ohRegex.test(ohStr);