<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Регулярные выражения в JavaScript #2

Регулярные выражения в JavaScript #2

Продолжаем знакомиться с символьными классами у регулярных выражений.

Символьный класс - слово:

\w - символ слова

Символьный класс «\w» ищет латинские буквы, цифры от 0 до 9 или нижнее подчеркивание. В примере ниже этот класс проигнорировал русские буквы и выдал цифру 20 с пробелами.

let regex = /\s\w\w\s/;
let str = 'На тот момент Алексею было 20 лет.';
let result = str.match(regex);
console.log(result);


Регулярные выражения в JavaScript #1.


Символьный класс - не слово:

\W - символ не слова

В качестве шаблона укажем один символ «не слова». Регулярное выражение нашло букву «Н», потому что это первый символ в строке, который не является буквой латинского алфавита, цифрой или подчеркиванием. Данный класс подходит для работы с русскими буквами.

let regex = /\W/;
let str = 'На тот момент Алексею было 20 лет.';
let result = str.match(regex);
console.log(result);


Регулярные выражения в JavaScript #1.

Наборы

Шаблон «[ОА]сю» должен найти в тексте два слова «Осю» и «Асю». Символы в квадратных скобках и есть наборы.

// найти [О и А], после которых идёт "сю"
let regex = /[ОА]сю/;
let str = 'Ты любишь Осю или Асю?';
let result = str.match(regex);
console.log(result);

Исключающие наборы

Данный шаблон найдет в тексте все, что не содержит данные символы «[^ОА]сю»

// найти все что, не [О и А], после которых идёт "сю"
let regex = /[^ОА]сю/;
let str = 'Ты любишь Осю или Асю?';
let result = str.match(regex);
console.log(result);

Диапазоны

Укажем в качестве текста часть алфавита и установим диапазон от буквы «в» до буквы «д».

// найти в строке буквы «в» или «г» или «д»
let regex = /[в-д]/;
let str = 'абвгдежзи';
let result = str.match(regex);
console.log(result);

После запуска кода, регулярное выражение найдет первое совпадение, букву «в».

[ 'в', index: 2, input: 'абвгдежзи', groups: undefined ]

Кроме этого, можно искать совпадения в нескольких диапазонах. Здесь [1-5г-и] ищется цифра от 1 до 5 или буква от «г» до «и».

Исключающие диапазоны

Теперь установим диапазон от буквы «а» до буквы «г» и попробуем найти в строке первое совпадение, которое не входит в данный диапазон.

let regex = /[^а-г]/;
let str = 'абвгдежзи';
let result = str.match(regex);
console.log(result);

После запуска кода, регулярное выражение найдет первое совпадение, букву «д».

[ 'д', index: 4, input: 'абвгдежзи', groups: undefined ]

Еще важно понимать, что диапазон в JavaScript ориентируется не на сами буквы, а на коды их буквенных символов. Например:

console.log(
'a'.charCodeAt(), //97
'b'.charCodeAt(), //98
'c'.charCodeAt(), //99
'ё'.charCodeAt(), //1105
'я'.charCodeAt(), //1103
);

Казус символа «ё»

В русском алфавите буква ё не входит в диапазон от а до я, поскольку ее числовой код (1105) больше, чем код последней буквы я (1103). Букву ё нужно всегда специально добавлять к диапазону.

let regex = /[^а-яё]/;
let str = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
let result = str.match(regex);
console.log(result); //null

Итоги

Символьный класс - это сокращенные обозначения для наборов с квадратными скобками [..]. К символьным классам относятся:

  • цифры от 0 до 9
  • не цифры от 0 до 9
  • пробелы, табуляции и переносы строк
  • не пробелы, табуляции и переносы строк
  • слово, куда входит цифра от 0 до 9 или латинская буква или нижнее подчеркивание
  • не слово

Внутри квадратных скобок [..] наборов пишутся символы (какой-то из них) или исключающие [^..]. Внутри наборов можно указывать диапазоны, вместо простого перечисления нужных символов.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.