Фронтендщик
Ir al canal en Telegram
Все для frontend developer, шуточки, тесты, статьи Администрация/Реклама @vtopua
Mostrar más1 116
Suscriptores
Sin datos24 horas
-17 días
-830 días
Archivo de publicaciones
1 116
В результате в переменную запишется следующее:
'xx ! ! ! xbx'
Пример
Найдем все подстроки по шаблону буква'x', буква 'a' ноль или более раз, буква 'x':
let str = 'xx xax xaax
xaaax xbx'
let res = str.replace(/xa*x/g,
'!');
В результате в переменную запишется следующее:
'! ! ! ! xbx'
📌 #instr || Фронтендщик
1 116
В результате в переменную запишется следующее:
'xx ! ! ! xbx'
Пример
Найдем все подстроки по шаблону буква'x', буква 'a' ноль или более раз, буква 'x':
let str = 'xx xax xaax
xaaax xbx'
let res = str.replace(/xa*x/g,
'!');
В результате в переменную запишется следующее:
'! ! ! ! xbx'
📌 #instr || Фронтендщик
1 116
В результате в переменную запишется следующее:
'xx ! ! ! xbx'
Пример
Найдем все подстроки по шаблону буква'x', буква 'a' ноль или более раз, буква 'x':
let str = 'xx xax xaax
xaaax xbx'
let res = str.replace(/xa*x/g,
'!');
В результате в переменную запишется следующее:
'! ! ! ! xbx'
📌 #instr || Фронтендщик
1 116
Пример
Найдем все подстроки по шаблону буква'x', буква 'a' один или более раз, буква 'x':
let str = 'xx xax xaax
xaaax xbx';
let res = str.replace(/xa+x/g,
'!');
📌 #instr || Фронтендщик
1 116
Для этого существуют операторы (квантификаторы) повторения: плюс + (один и более раз), звездочка * (ноль или более раз) и вопрос ? (ноль или один раз). Эти операторы действуют на тот символ, который стоит перед ними.
Давайте посмотрим на работу этих операторов на примерах.
📌 #instr || Фронтендщик
1 116
Операторы повторения символов в регулярках
Бывают ситуации, когда мы хотим указать, что символ повторяется заданное количество раз. Если мы знаем точное число повторений, то можно просто написать его несколько раз - /aaaa/. Но что делать, если мы хотим сказать такое: повторить один или более раз?
📌 #instr || Фронтендщик
1 116
В следующем примере не указан модификатор g и регулярка найдет только первое совпадение:
'aab'.replace(/a/,
'!'); // вернет
'!ab'
А теперь регулярка найдет все совпадения:
'aab'.replace(/a/g,
'!'); // вернет
'!!b'
📌 #instr || Фронтендщик
1 116
В следующем примере не указан модификатор g и регулярка найдет только первое совпадение:
'aab'.replace(/a/,
'!'); // вернет
'!ab'
А теперь регулярка найдет все совпадения:
'aab'.replace(/a/g,
'!'); // вернет
'!!b'
📌 #instr || Фронтендщик
1 116
После ограничителей можно писать модификаторы - команды, которые изменяют общие свойства регулярного выражения. Например, модификатор g включает режим глобального поиска и замены - без него регулярка ищет только первое совпадение, а с ним - все совпадения.
📌 #instr || Фронтендщик
1 116
А вот точка является специальным символом и обозначает любой символ. В следующем примере мы найдем строку по такому шаблону: буква 'x', затем любой символ, затем опять буква 'x':
'xax eee'.replace(/x.x/, '!');
// вернет
'! eee'
📌 #instr || Фронтендщик
1 116
А вот точка является специальным символом и обозначает любой символ. В следующем примере мы найдем строку по такому шаблону: буква 'x', затем любой символ, затем опять буква 'x':
'xax eee'.replace(/x.x/, '!');
// вернет
'! eee'
📌 #instr || Фронтендщик
1 116
Буквы и цифры обозначают сами себя. В следующем примере мы с помощью регулярного выражения заменим букву 'a' на !:
'bab'.replace(/a/, '!');
// вернет 'b!b'
📌 #instr || Фронтендщик
1 116
Буквы и цифры обозначают сами себя. В следующем примере мы с помощью регулярного выражения заменим букву 'a' на !:
'bab'.replace(/a/, '!');
// вернет 'b!b'
📌 #instr || Фронтендщик
1 116
Буквы и цифры обозначают сами себя. В следующем примере мы с помощью регулярного выражения заменим букву 'a' на !:
'bab'.replace(/a/, '!');
// вернет 'b!b'
📌 #instr || Фронтендщик
1 116
Сами регулярные выражения состоят из двух типов символов: из тех, которые обозначают сами себя и из символов-команд, которые называются специальные символы.
📌 #instr || Фронтендщик
1 116
А сам метод применяется к строке, в которой производится замена:
'bab'.replace('a', '!');
// вернет 'b!b'
Первым параметром этого метода можно передавать не просто строку, а регулярное выражение. Регулярное выражение представляет собой набор команд, расположенных внутри слешей /. Эти слеши называются ограничителями регулярных выражений.
📌 #instr || Фронтендщик
1 116
А сам метод применяется к строке, в которой производится замена:
'bab'.replace('a', '!');
// вернет 'b!b'
Первым параметром этого метода можно передавать не просто строку, а регулярное выражение. Регулярное выражение представляет собой набор команд, расположенных внутри слешей /. Эти слеши называются ограничителями регулярных выражений.
📌 #instr || Фронтендщик
1 116
А сам метод применяется к строке, в которой производится замена:
'bab'.replace('a', '!');
// вернет 'b!b'
Первым параметром этого метода можно передавать не просто строку, а регулярное выражение. Регулярное выражение представляет собой набор команд, расположенных внутри слешей /. Эти слеши называются ограничителями регулярных выражений.
📌 #instr || Фронтендщик
1 116
Введение в регулярные выражения в JavaScript
Регулярные выражения - это такие команды для сложного поиска и замены (или просто поиска). Они позволяют делать очень интересные вещи, но, к сожалению, довольно тяжелы в освоении.
Существует несколько методов JavaScript для работы с регулярными выражениями. Мы начнем знакомится с ними на примере replace - вы уже знакомы с этим методом: он первым параметром принимает что менять, а вторым - на что менять.
📌 #instr || Фронтендщик
1 116
Пусть теперь нам понадобилось как-то модифицировать этот массив, например, добавить ему в конец еще один элемент или изменить уже существующий.
Для решения задачи получим хранящуюся в хранилище строку с массивом, преобразуем эту строку в массив, проделаем с этим массивом необходимые манипуляции, преобразуем этот массив обратно в строку и запишем назад в хранилище:
let json = localStorage.getItem('data');
let data = JSON.parse(json);
data.push(6);
data[0] = '!';
localStorage.setItem('data',
JSON.stringify(data));
📌 #instr || Фронтендщик
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
