Создание электронных книг в формате FictionBook 2.1: практическое руководство. Версия 1.0 Release Candidat 2 от 21.08.2008 г. (Кондратович) - страница 107

(?g)([\s\(]|\A|
)(www.)([^\s\)"'<>]+)—>>—$1$2$3 — Преобразует все строки типа www.domain.root в гиперссылки


Метасимволы — обратные ссылки

Метасимволы от \1 до \9 воспринимаются как обратные ссылки. \N совпадает с ранее найденным подвыражением #N. В отличие от случая с заменой, где используются переменные $N, обратные ссылки можно применять в выражении поиска.

Примеры группировки:

(.)\1+ — находит «aaaa» и «cc»

(.+)\1+ — также находит «abab» и «123123»

(['"]?)(\d+)\1 — находит «"13"» (в дв.кавычках), или «'4'» (в один.кавычках) или 77 (без кавычек)


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

Модификаторы служат для изменения режимов работы регулярных выражений. Они вводятся в виде (?imsgr-imsgr). Если модификатор вписан после минуса — он отключается, если нет — включается. Модификаторы подвержены группировке (в Perl нет), можно применить модификатор для отдельного участка выражения (см. пример).

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

i — Регистро-независимый режим. Использует выбранный в ОС язык по умолчанию. По умолчанию выключено.

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

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

g — Включая его Вы переключаете все повторители в «жадный» режим. По умолчанию включено.

r — Модификатор предназначенный для русского языка. Если включен, то диапазоны вида а-я включают также букву «ё», А-Я включают «Ё», а а-Я включает вообще все русские буквы. По умолчанию включено.

Примеры группировки:

(?i)Saint-Petersburg — находит «Saint-petersburg» и «Saint-Petersburg»

(?i) — Saint-(?-i)Petersburg — находит «Saint-Petersburg» но не «Saint-petersburg»

(?i)(Saint-)?Petersburg — находит «Saint-petersburg» и «saint-petersburg»

((?i)Saint-)?Petersburg — находит «saint-Petersburg», но не «saint-petersburg»

Оговорка. В FB Editor модификаторы НЕ ФУНКЦИОНИРУЮТ.

При подготовке приложения использовалась документация к ClearTXT (автор — Алексей Сорокин).

Приложение E

Описание Base64

Этот алгоритм был разработан для представления произвольных последовательностей байтов в форму, читаемую для человека. Кодирующий и декодирующий алгоритмы очень просты, но закодированные данные примерно на 33% больше, чем некодированные. Этот метод идентичен тому, который используется в приложениях PEM (Privacy Enhanced Mail), описанной в RFC 1421 с одним отличием: base64 не приемлет встроенного «чистого» текста.