3.11. Внутренние модификаторы

3.11. Внутренние модификаторы

Обычно модификаторы (например, i или m) задаются после регулярного выражения. Но что если мы хотим применить модификатор только к части выражения?

Существует специальная нотация для включения и выключения модификаторов. Заключенный в круглые скобки вопросительный знак, за которым следует один или несколько модификаторов, «включает» их до конца регулярного выражения. А если некоторым модификаторам предшествует минус, то соответствующие режимы «выключаются»:

/abc(?i)def/     # Соответствует abcdef, abcDEF, abcDef,

                 # но не ABCdef.

/ab(?i)cd(?-i)ef/# Соответствует abcdef, abCDef, abcDef, ...,

                 # но не ABcdef или abcdEF.

/(?imx).*/       # To же, что /.*/imx

/abc(?i-m).*/m   # Для последней части регулярного выражения включить

                 # распознавание регистра, выключить многострочный

                 # режим.

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

/ab(?i:cd)ef/ # То же, что /ab(?i)cd(?-i)ef/

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

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

11.1.2. Модификаторы прав доступа к файлам

Из книги автора

11.1.2. Модификаторы прав доступа к файлам Модификаторы прав доступа файлов — это также битовые маски, значения которых представляют биты setuid, setgid и sticky-бит ("липкий" бит). Если бит setuid установлен для исполняемого файла, то эффективный идентификатор пользователя процесса


Модификаторы геометрии

Из книги автора

Модификаторы геометрии Для изменения параметров объектов сцены в среде 3ds Max служит панель Modify (Изменение). Она содержит список модификаторов, позволяет управлять стеком модификаторов и редактировать подобъекты.Каждый модификатор привносит в моделирование большое


Модификаторы

Из книги автора

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


Параметрические модификаторы

Из книги автора

Параметрические модификаторы Каждый из параметрических модификаторов содержит два режима редактирования подобъектов: Gizmo (Габаритный контейнер) и Center (Центр).Управление положением габаритного контейнера модификатора (Gizmo) осуществляется при помощи специального


Модификаторы свободных деформаций

Из книги автора

Модификаторы свободных деформаций Модификаторы свободных деформаций (Free Form Deformers, FFD) предназначены для свободной деформации объектов c помощью управляющих точек. В 3ds Max существует пять модификаторов свободной деформации: FFD 2 x 2 x 2 (Произвольная деформация 2 x 2 x 2), FFD 3 x 3 x 3


Модификаторы параметров методов

Из книги автора

Модификаторы параметров методов Методы (и статические, и уровня экземпляра) могут использовать параметры, передаваемые вызывающей стороной. Однако, в отличие от некоторых других языков программировании, в C# предлагается множество модификаторов параметров, которые


Модификаторы спецификации преобразования, используемые в функции printf( )

Из книги автора

Модификаторы спецификации преобразования, используемые в функции printf( )      Мы можем несколько расширить основное определение спецификации преобразования, поместив модификаторы между знаком % и cимвoлoм, определяющим тип преобразования. В приводимой ниже таблице дан


Модификаторы const и volatile

Из книги автора

Модификаторы const и volatile Модификатор const не допускает явного присваивания значения переменной либо других косвенных действий по изменению ее значения, таких как выполнение операций инкремента и декремента. Значение указателя, объявленного с модификатором const, не может


Модификаторы cdecl и pascal

Из книги автора

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


Модификаторы near, far, huge

Из книги автора

Модификаторы near, far, huge Эти модификаторы оказывают воздействие на работу с адресами объектов.Компилятор языка Си позволяет использовать при компиляции одну из нескольких моделей памяти. Виды моделей памяти и методы их применения рассмотрены в разделе 8 "Модели


Модификаторы типа функции

Из книги автора

Модификаторы типа функции Компилятор языка Си поддерживает ряд модификаторов типа функций: pascal, cdecl, interrupt, near, far и huge (модификатор interrupt не реализован в версии 4 СП MSC). Модификаторы рассмотрены в разделе 3.3.3 "Описатели с


Внутренние устройства

Из книги автора

Внутренние устройства Наибольшее число моделей устройств видеоввода реализовано в виде плат. Наверняка даже самым «неискушенным» читателям встречались названия такого рода: «плата в стандарте PCI» (Peripheral Component Interconnect – соединение периферийных компонентов). Сейчас самое


Видимость членов класса и модификаторы доступа

Из книги автора

Видимость членов класса и модификаторы доступа Каждое поле, метод или свойство класса имеет модификатор (атрибут) доступа, задающий правила его видимости. В PascalABC.NET существуют четыре вида модификаторов доступа: public (открытый), private (закрытый), protected (защищенный) и internal


10.2.3. Модификаторы поиска

Из книги автора

10.2.3. Модификаторы поиска Возможности поиска в Google не ограничиваются применением логических операторов и операторов + и — . Вы можете использовать специальные модификаторы для более эффективного поиска. Например, модификатор site позволяет задать домен, в пределах


Внутренние ТВ-тюнеры

Из книги автора

Внутренние ТВ-тюнеры Практически все современные внутренние телевизионные тюнеры выпускаются в виде PCI-карт, которые устанавливаются в соответствующий слот материнской платы. Эти тюнеры характеризуются богатством разнообразных сервисных функций, серьезно опережая по