Библиотека knigago >> Компьютеры и Интернет >> Учебники и самоучители по компьютеру >> Регулярные выражения для фронтендеров


Книга Валерия Рощина "Покойник претензий не имеет" — это увлекательный детектив, который держит в напряжении до самой последней страницы. В центре сюжета — детектив Павел Балашов, которому поручено расследовать убийство известного журналиста. С самого начала расследования Балашов понимает, что это дело не так просто, как кажется. Журналист был известен своей сенсационной работой, в которой он разоблачал высокопоставленных коррумпированных чиновников. По мере продвижения...

СЛУЧАЙНАЯ КНИГА

На поле Куликовом. Олег Николаевич Тихомиров
- На поле Куликовом

Жанр: Детская проза

Год издания: 1980

Серия: На страже Руси

Автор неизвестен - Регулярные выражения для фронтендеров

Регулярные выражения для фронтендеров
Книга - Регулярные выражения для фронтендеров.   Автор неизвестен  - прочитать полностью в библиотеке КнигаГо
Название:
Регулярные выражения для фронтендеров
Автор неизвестен

Жанр:

Учебники и самоучители по компьютеру

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Регулярные выражения для фронтендеров"

Аннотация к этой книге отсутствует.

Читаем онлайн "Регулярные выражения для фронтендеров". [Страница - 2]

«плавающими»
(неизвестными) данными. Самая распространенная
задача — найти в тексте ссылки и адреса электронной
почты и сделать их кликабельными.
— Валидация данных формы и ограничение ввода.
Например, валидация номера телефона, электронной
почты, данных паспорта гражданина РФ и других данных.
— Получение части строки или формирование новых
структур данных из строк с «плавающими»

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

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

Основные термины
В контексте нашего курса мы будем использовать некоторые
термины, которые в других языках программирования и
технологиях могут иметь иное значение:
Строка — любой текст, включающий или не включающий в себя
символы перевода строки.
Подстрока — любая часть строки.
Паттерн, правило, шаблон, выражение — это часть или всё
регулярное выражение целиком. В русскоязычной среде
программисты также используют выражение «регулярка». В
англоязычных источниках могут встречаться сокращения RegEx
или RegExp , но это всё об одном и том же.
Селекторы — именно так будут в нашем курсе называться части
паттернов, из которых мы будем составлять регулярные
выражения.

Матчить текст — применить к строке правило регулярного
выражения с целью определения совпадения.

Мы только-только начинаем знакомиться с регулярными
выражениями, но уже написали первый паттерн. Далее
разберём, как работает поиск внутри самого выражения,
движения вперёд и возвраты.

1.2. Движение паттернов и возвраты
Мы обозначили круг задач, но ещё ни слова не сказали о
построении регулярных выражений (паттернов) и о том, как они
работают.
Давайте составим первый паттерн и попробуем найти

ее

средствами регулярных выражений:
/ее/.test('Быстрее всего мы догоним ее на машине'); // вернё

Первое, на что стоит обратить внимание из нашего примера: в
JavaScript регулярное выражение пишется между двух слэшей:
/{{селектор}}/ . Текст внутри выражения называют литералами,
а специальные символы, добавляющие функционал выражению
— метасимволами.
Второе, селектор может
предложением или строкой:

совпадать

с

целым

словом,

/Быстрее всего/.test('Быстрее всего мы догоним ее на машине'

«

Можно использовать регулярные выражения для поиска
подстроки в строке, но это не самое эффективное решение.
Мы поговорим об этом в следующих главах.

Здесь стоит остановиться и разобрать паттерн /ее/ , ведь это не
единое слово в его общем понимании, а набор из двух
символьных
селекторов,
следующих
в
определённой
последовательности.
Регулярное выражение, если намеренно не задан другой
порядок, будет последовательно перебирать символы строки
слева направо и искать первое совпадение с первым селектором
паттерна — е :

Когда будет найдено совпадение с первым селектором, не меняя
позиции и не возвращаясь к началу строки, механизм поиска
попробует сравнить следующий символ строки со следующим

селектором. Если и второй символ совпадёт, то на этом поиск
закончится.

Но что произойдет, если не будет совпадения? Механизму
придётся вернуться к первому селектору и продолжить искать
совпадение с позиции, на которой он в данный момент
находится.
Немного изменим строку поиска:
/ее/.test('Всего быстрее мы догоним ее на машине');

В нашем случае первое совпадение первого селектора е
произойдёт на слове всего . Затем механизм поиска перейдёт на

одну позицию вперед и попробует сопоставить второй селектор
е — а там буква г , которая не совпадает. Чтобы отбросить это
несовпадение и продолжить поиск дальше, придётся вернуться
на одну позицию назад и вернуться к первому селектору. Этот
механизм в регулярных выражениях называется возврат.
В зависимости от сложности текстовой строки и сложности
паттерна, возвраты могут происходить не только к селектору, но
и к начальной позиции строки. Чем больше (длиннее) само
регулярное выражение и чем чаще оно двигается назад, тем
больше сохраняет позиций в памяти. --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.