Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 91 из 114 · 11 мин
Флаги g, i, m, s, u, v, y, d и свойства global, ignoreCase, multiline, dotAll, unicode, unicodeSets, sticky, hasIndices и flags.
/блокнот/ не найдёт «БЛОКНОТ», а /./ разрежет эмодзи пополам! Хе-хе.
Поведение регулярки меняют флаги после второго слэша. Каждому — своё свойство-проверка.
g · globalg: искать все совпадения (для match, replace, matchAll); свойство global — включён ли.console.log("а-б-в".replace(/-/g, "+"), /x/g.global);i · ignoreCasei; свойство ignoreCase.console.log(/блокнот/i.test("БЛОКНОТ"), /x/i.ignoreCase);m · multilinem: ^ и $ срабатывают на каждой строке, а не только в начале и конце текста.console.log("блокнот\nпенал".match(/^\p{L}+$/gmu));s · dotAlls: . совпадает и с переводом строки.console.log(/а.б/.test("а\nб"), /а.б/s.test("а\nб"), /x/s.dotAll);u · unicodeu: эмодзи — один символ, работают \p{…} (\p{L} — любая буква любого алфавита).console.log("🍵".match(/./g).length, "🍵".match(/./gu).length, /\p{L}+/u.test("Ёж"), /x/u.unicode);v · unicodeSetsv — улучшенный u: операции над классами ([\p{L}--[a-z]]), свойства строк.console.log(/^[\p{L}--[a-z]]+$/v.test("Ёж"), /x/v.unicodeSets);y · stickyy: совпадение должно начинаться ровно с lastIndex.const re = /\d+/y;
re.lastIndex = 6;
console.log(re.test("блокнот 220"), re.sticky);d · hasIndicesd: у совпадения появляется indices — начало и конец каждой группы.const m = /(?<price>\d+)/d.exec("блокнот 220");
console.log(m.indices.groups.price, /x/d.hasIndices);flagsflags — все включённые флаги, например "giu".const re = /x/gimsu;
console.log(re.flags, new RegExp("y", re.flags).flags);Работаешь с русским текстом и эмодзи — ставь флаг u (или v) всегда.
Напиши words(text): массив всех слов (последовательностей букв любого алфавита) через match с \p{L}+ и флагами g и u, или [].
Выберите один ответ.
Что меняет флаг g в replace?
Выберите один ответ.
Зачем флаг u?
Проверяем состояние обучения…