Глава 4. Строки

Многострочный режим, флаг «m» в регулярных выражениях

Здравствуйте!  В этом уроке разговор пойдет о многострочном режиме в регулярных выражениях.  Данный режим включается, если у шаблона регулярного выражения  присутствует  флаг /m.

В этом случае изменится поведение ^ и $. О них я писал здесь

Дело в том, что в многострочном режиме якоря обозначают не только начало и конец текста, но также начало и конец строки.

многострочный режим в регулярных выражениях

Читать далее »

Начало строки ^ и конец $ в регулярных выражениях

Здравствуйте!  В этом уроке мне хотелось бы рассмотреть как в регулярных выражениях можно выделять начало и конец строки.  Символ каретки ‘^’ и доллара ‘$’  в регулярном выражении могут иметь особый смысл.

Знак каретки ^ или циркумфлекс совпадает с началом текста, а доллар $ –  с концом. Их еще называют якорями

Вот эти самые якоря они как-бы не символы а проверки.

До сих пор  мы с вами говорили о регулярках, которые  могут искать один или несколько символов.  Если находят, то включают символы в результирующую строку.

А  вот якоря – не такие. Когда  идет поиск до якоря – он проверит, есть ли соответствие, если оно  есть –  то продолжит идти  дальше по шаблону.

Символ каретки ^ обычно используют что поиск следует начинать именно с начала строки.

начало иконец строки в регулярных выражениях

Читать далее »

Альтернация в регулярных выражениях

Здравствуйте! В этом уроке мы с Вами рассмотрим такое понятие в регулярных выражениях как  альтернация. Альтернация –  в регулярных выражениях обозначает  слово «ИЛИ».  Для ее обозначения используется символ вертикальной черты | она позволяет выбирать между вариантами.

Например, нам нужно найти писателей: Пушкин, Лермонтов, Толстой.

Соответствующее регулярное выражение: Пушкин | Лермонтов | Толстой ?.

Альтернация в регулярных выражениях

 

 

Читать далее »

Обратные ссылки: \n и $n в регулярных выражениях

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

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

Обратные ссылки в регулярных выражениях

 

 

Читать далее »

Скобочные группы в регулярных выражениях

Здравствуйте! В этом уроке мы с вами разберемся что такое скобочные группы в регулярных выражениях и зачем они нужны. Вы можете какую-то часть шаблона регулярного выражения заключить  (…). Вот такие  части шаблона и называют  «скобочными выражениями» или «скобочными группами».

У них есть 2  преимущества.

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

Скобочные группы в регулярных выражениях

 

Читать далее »

Жадные и ленивые квантификаторы в регулярных выражениях

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

И надо очень хорошо понимать, каким образом  происходит поиск.

Давайте для примера разберем вот такой пример  надо  заменить в тексте кавычки вида «…» на «кавычки-ёлочки»: «…».

Для этого надо найти все слова в таких кавычках.

Регулярка может выглядеть примерно  так: /».+»/g.

жадные и ленивые квантификаторы

 

Читать далее »

Квантификаторы регулярных выражений

Здравствуйте! В этом уроке в продолжении темы регулярных выражений  мы с вами рассмотрим  квантификаторы или повотрители в регулярных выражениях.  На прошлом уроке  мы разбирались с диапозонами в регулярных выражениях.   И вот эта тема квантификаторы в регулярных выражениях  как бы идет в продолжении   темы  диапазоны в регулярных выражениях.  Но давайте  как и всегда начнем с примера   – допустим есть  телефон  +38(096)-123-45-67 и  надо найти все числа в нём. То есть  нас интересуют не числа по отдельности, а именно числа, 38, 096, 123, 45, 67.

Если для поиска цифр по отдельности  было достаточно класса \d. То здесь нужно искать числа – последовательности из 1 или более цифр. То есть искать повторяющиеся цифры.

 

квантификаторы в регулярных выражениях

Читать далее »

Наборы и диапазоны регулярных выражений

 

Здравствуйте! Мы с вами  на прошлых уроках уже рассмотрели классы и спецсимволы регулярных выражений    в этом же уроке речь пойдет о  наборах и диапозанах, применяемых в регулярных выражениях. Наборы очень полезны тем, что когда  нужно найти не один какой-то символ а группу символов, то ее  можно  заключить в […] и поиск будет происходить уже по этой группе. Но даавйте-ка рассмотрим все это на примерах.

классы и символы регулярных выражений

 

 

Читать далее »

Классы и спецсимволы регулярных выражений

Здравствуйте! Продолжаем  рассматривать регулярные выражения.  Мы уже с вами разобрали паттерны регулярных выражений, а также методы регулярных выражений. И в этом уроке мы с вами познакомимся с  специсмволами и классами регулярных выражений.  Рассмотрим  такую вот  задачу –  допустим есть телефонный номер «+38(905)-123-45-67», и вам нужно найти в этой строке только цифры. А остальные символы вас вообще не интересуют.

Вот как раз для поиска символов определённого вида в регулярных выражениях предусмотрены «классы символов».

Класс символов – это  такое специальное обозначение, под которое подходит символ из определённого набора.

Вот например, есть класс «любая цифра». Он обозначается как  \d. Это обозначение добавляется в шаблон, и при поиске под него подходит уже  любая цифра.

классы и спецсимволы регулярных выражений

 

Читать далее »

Методы RegExp и String для работы с регулярными выражениями

Здравствуйте! Продолжаем  разбираться с регулярными выражениями и в этом уроке мы с вами рассмотрим  собственно методы, предназначенные для работы с регулярными выражениями.  Это будут как методы регулярных выражений, так и методы строк. Поскольку структура встроенных методов немного  слегка запутана, то  мы  для начала рассмотрим их по отдельности, а после –  способы решения задач с ними.

Методы регулярных выражений

 

Читать далее »

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: