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

2.0 KiB
Raw Blame History

id title challengeType forumTopicId dashedName
587d7db9367417b2b2512ba6 只指定匹配的下限 1 301366 specify-only-the-lower-number-of-matches

--description--

可以使用带有花括号的数量说明符来指定匹配模式的上下限。 但有时候只想指定匹配模式的下限而不需要指定上限。

为此,在第一个数字后面跟一个逗号即可。

例如,要匹配至少出现 3 次字母 a 的字符串 hah,正则表达式应该是 /ha{3,}h/

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 调用将返回值 truefalsetrue

--instructions--

修改正则表达式 haRegex,匹配包含四个或更多字母 z 的单词 Hazzah

--hints--

你的正则表达式应该使用花括号。

assert(haRegex.source.match(/{.*?}/).length > 0);

你的正则表达式不应匹配字符串 Hazzah

assert(!haRegex.test('Hazzah'));

你的正则表达式不应匹配字符串 Hazzzah

assert(!haRegex.test('Hazzzah'));

你的正则表达式应该匹配字符串 Hazzzzah

assert('Hazzzzah'.match(haRegex)[0].length === 8);

你的正则表达式应该匹配字符串 Hazzzzzah

assert('Hazzzzzah'.match(haRegex)[0].length === 9);

你的正则表达式应该匹配字符串 Hazzzzzzah

assert('Hazzzzzzah'.match(haRegex)[0].length === 10);

你的正则表达式应该匹配包含 30 个字母 zHazzah

assert('Hazzzzzzzzzzzzzzzzzzzzzzzzzzzzzzah'.match(haRegex)[0].length === 34);

--seed--

--seed-contents--

let haStr = "Hazzzzah";
let haRegex = /change/; // Change this line
let result = haRegex.test(haStr);

--solutions--

let haStr = "Hazzzzah";
let haRegex = /Haz{4,}ah/; // Change this line
let result = haRegex.test(haStr);