3.6. Позитивное и негативное заглядывание вперед
3.6. Позитивное и негативное заглядывание вперед
Понятно, что регулярное выражение сопоставляется со строкой линейно (осуществляя при необходимости возвраты). Поэтому существует понятие «текущего положения» в строке, это аналог указателя файла или курсора.
Термин «заглядывание» означает попытку сопоставить часть строки, находящуюся дальше текущего положения. Это утверждение нулевой длины, поскольку даже если соответствие будет найдено, никакого продвижения по строке не произойдет (то есть текущее положение не изменится).
В следующем примере строка "New world" будет сопоставлена, если за ней следует одна из строк "Symphony" или "Dictionary". Однако третье слово не будет частью соответствия.
s1 = "New World Dictionary"
s2 = "New World Symphony"
s3 = "New World Order"
reg = /New World(?= Dictionary | Symphony)/
m1 = reg.match(s1)
m.to_a[0] # "New World"
m2 = reg.match(s2)
m.to_a[0] # "New World"
m3 = reg.match(s3) # nil
Вот пример негативного заглядывания:
reg2 = /New World(?! Symphony)/
m1 = reg.match(s1)
m.to_a[0] # "New World"
m2 = reg.match(s2)
m.to_a[0] # nil
m3 = reg.match(s3) # "New World"
В данном случае строка "New world" подходит, только если за ней не следует строка "Symphony".
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Переходы назад – вперед в браузере
Переходы назад – вперед в браузере В браузере для перехода на предыдущую или следующую страницу совсем не обязательно щелкать по соответствующим кнопкам на панели инструментов программы. Можно просто зажать Shift и покрутить колесико мыши вперед или
Вперед, к новому hover
Вперед, к новому hover Ранее я упоминал, что такой подход повлиял на то, как я думаю о подготовке графики для сайтов. Мы можем пользоваться свойством opacity, чтобы управлять тем, как графика выглядит в обычном состоянии, смешивая ее с фоном – и затем применять другие
Кнопки Вперед и Назад
Кнопки Вперед и Назад Чтобы заблокировать кнопки Вперед и Назад в Internet Explorer, создайте параметр типа DWORD ·NoNavButtons· со значением 1 в разделе HKCUSoftwarePoliciesMicrosoftInternet
Глава 6. Мощный рывок вперед. Развитие профессиональных навыков
Глава 6. Мощный рывок вперед. Развитие профессиональных навыков Далее мы приведем ряд правил, которые позволят существенно повысить свой профессиональный уровень. Есть только одна сложность – эти правила необходимо ВНЕДРЯТЬ в свою практику, а не просто знать. Внедрять –
Бери деньги, и вперед!
Бери деньги, и вперед! К множеству странных и удивительных вещей, которые можно делать с помощью элементов управления ActiveX, относятся и подтверждение покупок по кредитным карточкам через модем и прямое подключение к Internet. Если вы разрабатываете пользовательскую систему
НОВОСТИ: E3.12 — вперед в прошлое
НОВОСТИ: E3.12 — вперед в прошлое Автор: Тимофей БахваловОбойдемся без долгих преамбул. Что такое Electronic Entertainment Expo (E3), знает, наверное, любой геймер. Посему сразу перейдем к новостям с самой представительной игровой выставки в мире, которая состоялась уже в 12-й раз и собрала в
Перелистывание страниц вперед/назад
Перелистывание страниц вперед/назад Обратите внимание на стрелочки в строке адреса (рис. 1.10) — они активируются после того, как вы загрузите несколько страниц в одной вкладке. Это еще один способ перехода на другую страницу. Нетрудно догадаться, что щелчок по левой
Американский Android вырвался вперёд Михаил Карпов
Американский Android вырвался вперёд Михаил Карпов Опубликовано 12 мая 2010 года В течение некоторого времени Apple со своим iPhone занимала второе место на американском рынке смартфонов (выше неё — только RIM с телефонами Blackberry, фактически, американским
Вперед.Будущее криптографии Дороти Деннинг [35]
Вперед.Будущее криптографии Дороти Деннинг[35] Для обозначения неминуемого наступления Славного Нового Мира, когда правительства в том виде, в каком они сейчас существуют, рассыплются, исчезнут и будут заменены виртуальными сообществами, свободными беспрепятственно
(DZ) Давид Ян: «Я думаю, что люди, которые толкают науку и бизнес вперёд, в определённой степени безумны» Компьютерра
(DZ) Давид Ян: «Я думаю, что люди, которые толкают науку и бизнес вперёд, в определённой степени безумны» Компьютерра Опубликовано 13 августа 2013 Дорогие друзья, данным материалом мы хотим открыть на «Компьютерре» серию бесед Дмитрия Завалишина
Дмитрий Шабанов: Вперёд, к эпигенетическому будущему! Дмитрий Шабанов
Дмитрий Шабанов: Вперёд, к эпигенетическому будущему! Дмитрий Шабанов Опубликовано 29 ноября 2012 года В прошлой колонке я похвастался, что в конференции на харьковском биофаке, к организации которой я имел отношение, принимал участие Александр
Время, вперёд! Умные часы как буревестник новой компьютерной революции Евгений Золотов
Время, вперёд! Умные часы как буревестник новой компьютерной революции Евгений Золотов Опубликовано 25 марта 2013 Наручные часы — один из древнейших гаджетов. Они сопровождают человека аж с XVII века, а их история полна удивительных поворотов, которые и захочешь — не
2. Негативное влияние компьютера: как его уменьшить
2. Негативное влияние компьютера: как его уменьшить В предыдущей главе было рассказано, как выбрать компьютер с точки зрения его безопасности и комфортной работы. Теперь следует ознакомиться с его возможными негативными влияниями на пользователя. Даже при идеально