2.8 KiB
2.8 KiB
id, title, challengeType, forumTopicId, localeTitle
| id | title | challengeType | forumTopicId | localeTitle |
|---|---|---|---|---|
| 587d7db6367417b2b2512b9b | Find Characters with Lazy Matching | 1 | 301341 | Найти персонажей с ленивым соответствием |
Description
greedy соответствие находит самую длинную возможную часть строки, которая соответствует шаблону регулярного выражения и возвращает его как совпадение. Альтернативой называется lazy совпадение, которое находит наименьшую возможную часть строки, которая удовлетворяет шаблону регулярного выражения. Вы можете применить regex /t[az]*i/ к строке "titanic" . Это регулярное выражение в основном является шаблоном, начинающимся с t , заканчивается i , и между ними есть несколько букв. Регулярные выражения по умолчанию greedy , поэтому матч вернет ["titani"] . Он находит самую большую подстроку, которая может соответствовать шаблону. Однако вы можете использовать ? чтобы изменить его на lazy соответствие. "titanic" соответствует настроенному регулярному выражению /t[az]*?i/ возвращает ["ti"] .
Instructions
/<.*>/ чтобы вернуть HTML-тег <h1> а не текст "<h1>Winter is coming</h1>" . Помните шаблон . в регулярном выражении соответствует любому символу.
Tests
tests:
- text: The <code>result</code> variable should be an array with <code><h1></code> in it
testString: assert(result[0] == '<h1>');
Challenge Seed
let text = "<h1>Winter is coming</h1>";
let myRegex = /<.*>/; // Change this line
let result = text.match(myRegex);
Solution
let text = "<h1>Winter is coming</h1>";
let myRegex = /<.*?>/; // Change this line
let result = text.match(myRegex);