Выразительный JavaScript.

Регулярный гольф.

«Гольфом» в коде называют игру, где нужно выразить заданную программу минимальным количеством символов. Регулярный гольф – практическое упражнение по написанию наименьших возможных регулярок для поиска заданного шаблона, и только его.

Для каждой из подстрочек напишите регулярку для проверки их нахождения в строке. Регулярка должна находить только эти указанные подстроки. Не волнуйтесь насчёт границ слов, если это не упомянуто особо. Когда у вас получится работающая регулярка, попробуйте её уменьшить.

1 car и cat.

2 pop и prop.

3 ferret, ferry, и ferrari.

4 Любое слово, заканчивающееся на ious.

5 Пробел, за которым идёт точка, запятая, двоеточие или точка с запятой.

6 Слово длиннее шести букв.

7 Слово без букв e.

// Впишите свои регулярки.

Verify(/.../,

["my car", "bad cats"],

["camper", "high art"]);

Verify(/.../,

["pop culture", "mad props"],

["plop"]);

Verify(/.../,

["ferret", "ferry", "ferrari"],

["ferrum", "transfer A"]);

Verify(/.../,

["how delicious", "spacious room"],

["ruinous", "consciousness"]);

Verify(/.../,

["bad punctuation ."],

["escape the dot"]);

Verify(/.../,

["hottentottententen"],

["no", "hotten totten tenten"]);

Verify(/.../,

["red platypus", "wobbling nest"],

["earth bed", "learning ape"]);

Function verify(regexp, yes, no) {

// Ignore unfinished exercises.

If (regexp.source == "...") return;

Yes.forEach(function(s) {

If (!regexp.test(s)).

Console.log("Не нашлось '" + s + "'");

});

No.forEach(function(s) {

If (regexp.test(s)).

Console.log("Неожиданное вхождение '" + s + "'");

});

}