Repository navigation
Regex options ru
Опции RegEx задают поведение парсера RegEx. Опции могут быть использованы в шаблоне с помощью атрибута RO или с помощью встроенных в шаблон RegEx опций (в фильтрах в интерфейсе, например).
В OTLoV'е везде по умолчанию используется IgnoreCase (регистро-независимый парсинг) по умолчанию. Если нужен регистро-зависимый парсинг, то можно или использовать в шаблоне опцию RO="0" (или любое другое значение без IgnoreCase) или использовать включенные в шаблон опции (см. ниже).
Опции внутри шаблона поддерживаются и позволяют изменить поведение части шаблона. Синтаксис:
...(?imnsx-imnsx)...
Где:
-
...- пропущенная часть шаблона, -
?imnsx- флаги, включающие опции -
-imnsx- флаги, выключающие опции
Например, если нужен регистро-зависимый поиск именно dOgS, то шаблон может выглядеть так:
(?-i)dOgS
Смотри таблицу ниже с детальной информацией.
Опции RegEx позволяют настроить поведение парсера RegEx. Если используется атрибут RO в шаблоне, то чтобы получить конечное значение нужно сложить значения индивидуальных опций.
| Значение | Название | Флаг | Описание |
|---|---|---|---|
| 0 | None | Использовать стандартное поведение. | |
| 1 | IgnoreCase | i |
Использовать регистро-независимую обработку. |
| 2 | Multiline | m |
Использовать многострочный режим, в котором якоря ^ и $ срабатывают в начале и конце каждой строки внутри, а не только всей строки. |
| 4 | ExplicitCapture | n |
Не захватывать группы без имён. Будут захвачены только значения для именованных групп, заданных в формате (?<name>subexpression). |
| 8 | Compiled | Не используется для OTLoV'а - шаблоны прекомпилируются всегда. | |
| 16 | Singleline | s |
Использовать режим одной строки, при котором символ точки . срабатывает на любой символ (по умолчанию он не срабатывает на перевод строки). |
| 32 | IgnorePatternWhitespace | x |
Позволяет игнорировать символы пустого места в шаблоне и разрешает добавлять комментарии после знака решетки #. |
| 64 | RightToLeft | Изменяет направление поиска на справа-налево (по умолчанию поиск идёт слева-направо). | |
| 256 | ECMAScript | Включает ECMAScript-совместимый режим обработки выражений. | |
| 512 | CultureInvariant | Включает культурно-независимый парсинг. |