Создание электронных книг в формате FictionBook 2.1: практическое руководство (pre-release)

ОглавлениеДобавить в закладки К обложке

Приложение ДРегулярные выражения

==Важно!========================

Это описание было заимствовано из документации к программе Дмитрия Грибова СlearTXT. Реализация регулярных выражений в FB Editor  несколько отличается от СlearTXT. Поэтому, эта документация справедлива для FBE лишь с некоторыми оговорками.

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

===============================

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

На первый взгляд регулярные выражения выглядят страшновато (ну хорошо, на второй — еще страшнее ;) ). Однако вы очень быстро оцените всю их мощь. Они избавят вас от длительного и нудного ручного поиска/замены/правки, а в некоторых случаях дадут вам возможности, реализация которых «ручками» даже не придет вам в голову.

СИМВОЛЫ

Это простейшие случаи подстановок.

\xNN — символ с шестнадцатеричным кодом NN

\t — табуляция (HT/TAB), можно также \x09

\n — новая строка (NL), можно также \x0a

\r — возврат каретки (CR), можно также \x0d

Пример: \r\n — поиск разрыва строки (Windows, DOS).

Поиск «одного из» — перечни

Можно определить перечень, заключив символы в «[]». Перечень будет совпадать с любым одним символом, перечисленным в нем.

Если первый символ перечня (сразу после «[») — «^», то такой перечень совпадает с любым символом, не перечисленным в перечне.

Внутри перечня символ «-» может быть использован для определения диапазонов символов, например, a-z представляет все символы между «a» и «z», включительно.

Если необходимо включить в перечень сам символ «-», его нужно поместить в начало или конец перечня или предварить «\». Если необходимо поместить в перечень сам символ «]», поместите его в самое начало или предварите «\».

Примеры:

п[иа]р — будут найдены буквосочетания «пир» и «пар». Но, допустим, не «пор».

п[^иа]р — будут найдены буквосочетания «п…р» с любым символом между «п» и «р», кроме «и» и «а».

[-az] — «a», «z» и «-»

[az-] — «a», «z» и «-»

[a\-z] — «a», «z» и «-»

[a-z] — все 26 малых латинских букв от «a» до «z»

[\n-\x0D] — #10, #11, #12, #13

[\d-t] — цифра, «-» или «t»

[]-a] — символ из диапазона «]»..«a»

Оговорка. В FB Editor в режиме исходника перечни, содержащие кирииллицу ФУНКЦИОНИРУЮТ НЕПРАВИЛЬНО.

Метасимволы

Метасимволы — это специальные символы, являющиеся важнейшим понятием в регулярных выражениях. Существует несколько групп метасимволов.

• Разделители строк (начало строки, конец строки и т.п.)

• Стандартные перечни символов (цифры, буквы и цифры и т.п.)

• Границы слов (показывают, что вхождение должно быть на границе слова)

• Повторения (указывает, сколько раз должна присутствовать последовательность)

• Варианты (позволяет указать набор масок, с любой из которых должен совпадать текст)

• Подвыражения (используются при замене)

• Обратные ссылки (способ обратиться к подвыражениям при поиске)

Метасимволы — разделители строк и границы

Разделители и границы

^ — начало строки

$ — конец строки

\A — начало текста

\Z — конец текста

\b — Совпадает на границе слова

\B — Совпадает НЕ на границе слова

Оговорка. В FB Editor (и, скорее всего, в большинстве других программ) метасимволы \b и \B не реагируют на кириллицу.

Примеры:

^Все — Находит все строки в тексте, начинающиеся словом «Все»

\bмир — Находит все слова, начинающиеся буквосочетанием «мир». Слова будут найдены и в начале строк, и в середине.

^\x20$ — Находит все строки в тексте, состоящие из единственного пробела.

Метасимволы — стандартные перечни символов

. (точка) — Любой символ

\w — буквенно-цифровой символ или "_"


Логин
Пароль
Запомнить меня