AkelPad 4 - руководство пользователя

Содержание

  1. Замечания о совместимости
  2. Общие замечания
  3. Возможности программы
  4. Параметры командной строки
  5. Ручные установки
  6. Клавиатурные команды
  7. Внутренние команды
  8. Синтаксис регулярных выражений
  9. Лицензионное соглашение
  10. Авторы

Замечание о совместимости

Программа предназначена для работы в системах Windows 95/98/Me и Windows NT 4.0/2000/XP/2003/Vista/Seven/8.

Общие замечания

Стандартный блокнот - хороший редактор, без наворотов, редактирующий в простом текстовом формате и поэтому незаменимый при программировании, редактировании html-документов, да и не только. Однако тот, который входит в состав Windows, весьма неудобен в использовании в силу ряда ограничений. Данная программа претендует на то, чтобы восполнить эти недостатки.
Внимание: для того, чтобы в полной мере использовать преимущества Unicode, рекомендуется выбрать один из Unicode-шрифтов, каковыми являются большинство шрифтов TrueType (например, Courier New).

Возможности

Коротко об основных возможностях:

Параметры командной строки

AkelPad.exe [параметры] "file1.ext" [параметры] "file2.ext" [параметры] ...

Ручные установки

Настройки сохраняются в AkelPad.ini или в реестре (HKEY_CURRENT_USER\Software\Akelsoft\AkelPad).

Клавиатурные команды

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

Могут быть использованы в параметрах командной строки, а также в ContextMenu, ToolBar, Hotkeys, Scripts плагинах.

Синтаксис регулярных выражений

Регулярное выражение - это шаблон текста, который состоит из обычных символов (например, букв от а до я) и специальных символов, известных как метасимволы. Шаблон задает правила поиска и может осуществлять манипуляции с подстроками в тексте.

Пример шаблона Соответствие
^\s*?$ Соответствует пустой строке.
\d{2}-\d{5} Соответствует номеру, состоящему из 2 цифр, дефиса и 5 дополнительных цифр.
<(\w+)[^>]*>.*?</\1> Соответствует HTML тэгу.


Приведенная ниже таблица содержит полный список поддерживаемых метасимволов и их значение:

Символ Описание
\ Отмечает следующий символ как обычный символ (один из "()[]{}^$.?+*\|"), специальный символ или обратную ссылку. Например, 'n' соответствует символу "n". '\n' соответствует символу новой строки. Последовательность '\\' соответствует "\" и '\(' соответствует "(".
^ Соответствует позиции начала строки.
$ Соответствует позиции конца строки.
* Найти далее предыдущий символ или выражения ноль или более раз. Например, 'zo*' соответствует "z" и "zoo". '*' эквивалентно '{0,}'.
+ Найти далее предыдущий символ или выражения один или более раз. Например, 'zo+' соответствует "zo" и "zoo", но не "z". '+' эквивалентно '{1,}'.
? Найти далее предыдущий символ или выражения ноль или один раз. Например, 'do(es)?' соответствует "do" в "document" или "does" в "does". '?' эквивалентно '{0,1}'.
{n} Найти далее предыдущий символ или выражения ровно n раз. Например, 'о{2}' не соответствует "o" в "Bob", но соответствует "oo" в "food".
{n,} Найти далее предыдущий символ или выражения не меньше n раз. Например, 'o{2,}' не соответствует "o" в "Bob", но соответствует "ooooo" в "foooood". 'o{1,}' эквивалентно 'o+'. 'o{0,}' эквивалентно 'o*'.
{n,m} Найти далее предыдущий символ или выражения не меньше n раз, но не больше m раз. Например, 'o{1,3}' соответствует первым "ooo" в "fooooood". 'o{0,1}' эквивалентно 'o?'. Пробелы между запятой и числами не используются.
. Соответствует любому одиночному символу.
(шаблон) Находит соответствие шаблону и сохраняет его. К сохраненному соответствию можно обратиться через обратные ссылки \0...\9. Чтобы не группировать выражение, а найти скобки "(" или ")", используйте '\(' или '\)'.
(?^шаблон) Находит отрицательное соответствие шаблону и сохраняет его. Шаблон должен быть фиксированной длины, но может содержать обратные ссылки.
(?:шаблон) Находит соответствие шаблону, но не сохраняет соответствие. Это удобно использовать для объединения частей шаблона со знаком "или" (|). Например, 'industr(?:y|ies)' более экономичное выражение, чем 'industry|industries'.
(?=шаблон) Положительный поиск вперед (positive lookahead). Соответствие не сохраняется для последующего использования. Например, 'Windows (?=95|98|NT|2000)' соответствует "Windows" в "Windows 2000", но не соответствует "Windows" в "Windows 3.1".
(?!шаблон) Отрицательный поиск вперед (negative lookahead). Соответствие не сохраняется для последующего использования. Например, 'Windows (?!95|98|NT|2000)' соответствует "Windows" в "Windows 3.1", но не соответствует "Windows" в "Windows 2000".
(?<=шаблон) Положительный просмотр назад (positive lookbehind). Соответствие не сохраняется для последующего использования. Например, '(?<=abc)z' соответствует "z" только, если ему предшествует "abc". Шаблон должен быть фиксированной длины.
(?<!шаблон) Отрицательный просмотр назад (negative lookbehind). Соответствие не сохраняется для последующего использования. Например, '(?<!abc)z' соответствует "z" только, если ему не предшествует "abc". Шаблон должен быть фиксированной длины.
(?>шаблон) Атомарная группа. Возвращение назад по строке в данном шаблоне запрещено, если часть шаблона уже найдена. Соответствие не сохраняется для последующего использования. Например, 'a(?>bc|b)c' соответствует "abcc", но не "abc".
(?(условие)шаблон-истина|шаблон-ложь)

(?(условие)шаблон-истина)
В случае успешного сопоставления условия, используется шаблон-истина, в противном случае шаблон-ложь (если он присутствует). Условие может быть шаблоном с положительным/отрицательным просмотром вперед/назад или номером обратной ссылки, которая будет проверяться на успешность совпадения. Например, '(a)?b(?(1)c|d)' соответствует "abc" в "abc" и "bd" в "zbd". Т.к., если "a" найдено, то ищется "c" после "b", если "a" не найдено, то ищется "d" после "b".
(?опции) Опции применяются для только текущей группы, если заданы в начале специального шаблона, например, 'a(?i:b)c' применяется для "b" или также для последующих, если заданы отдельно, например, 'a(?i)bc' применяется для "bc".
Возможно использовать несколько опций сразу, например, 'a(?im-Us)bc'.

(?i) не учитывать регистр.
(?m) многострочный поиск (по умолчанию).
(?s) точка '.' соответствует любому одиночному символу (по умолчанию).
(?U) инвертировать жадность.
(?-i) учитывать регистр.
(?-m) отключить многострочный поиск. '^' соответствует началу документа, а '$' соответствует концу документа.
(?-s) точка '.' соответствует любому одиночному символу, кроме символа новой строки.
(?-U) отключить инвертирование жадности.
x|y Соответствует x или y. Например, 'z|food' соответствует "z" или "food". '(z|f)ood' соответствует "zood" или "food".
[xyz] Набор знаков. Совпадает с любым из указанных символов. Например, '[abc]' соответствует "a" в "plain".
[^xyz] Отрицательный набор знаков. Соответствует любому не указанному символу. Например, '[^abc]' соответствует "p" в "plain".
[a-z] Диапазон знаков. Соответствует любому знаку в указанном диапазоне. Например, '[a-z]' соответствует любому буквенному символу в нижнем регистре из диапазона от "a" до "z".
[^a-z] Отрицательный диапазон символов. Соответствует всем символам, которые отсутствуют в указанном диапазоне. Например, '[^a-z]' соответствует всем символам, которые отсутствуют в диапазоне от "a" до "z".
\b Соответствует границе слова, т.е. позиции между словом и разделителем. Например, 'er\b' соответствует "er" in "never", но не соответствует "er" в "verb".
\B Соответствует позиции, отличной от границы слова. 'er\B' соответствует "e" в "verb", но не соответствует "er" в "never".
\A Соответствует позиции начала документа. Например, '\Aabc' соответствует "abc" в "abc\ndef", но не соответствует "abc" в "def\nabc".
\Z Соответствует позиции конца документа. Например, 'abc\Z' соответствует "abc" в "def\nabc", но не соответствует "abc" в "abc\ndef".
\a Тоже, что и \A, но соответствует позиции начала диапазона поиска.
\z Тоже, что и \Z, но соответствует позиции конца диапазона поиска.
\K Все предыдущие найденные символы не включаются в конечный результат. Например, 'a+b+\K\c+' соответствует "ccc" в "aaabbbccc".
\d Соответствует знаку цифры. Эквивалентно '[0-9]'.
\D Соответствует любому знаку, не являющемуся цифрой. Эквивалентно '[^0-9]'.
\f Символ перевода страницы. Эквивалентно '\x0c'.
\n Любая новая строка. Для поиска Unix новой строки используйте '\x0a'.
\r Любая новая строка. Для поиска Mac новой строки используйте '\x0d'.
\s Любой знак пробела: пробел, табуляция, перевод страницы и т.д. Эквивалентно '[ \f\n\r\t\v]'.
\S Любой символ, не являющийся пробелом. Эквивалентно '[^ \f\n\r\t\v]'.
\t Символ табуляции. Эквивалентно '\x09'.
\v Символ вертикальной табуляции. Эквивалентно '\x0b'.
\w Соответствует любому символу, составляющему слово (любому символу, который не является разделителем).
\W Соответствует любому символу, не составляющему слово (любому символу, который является разделителем).
\xn Соответствует n, где n — шестнадцатеричный код символа, который имеет длину ровно две цифры. Например, '\x41' соответствует "A".
\un Соответствует n, где n код символа Юникода, выраженный в виде четырех шестнадцатеричных цифр. Например, '\u00A9' соответствует символу авторского права "©".
\x{n} Соответствует n, где n — шестнадцатеричный код символа. Например, '\x{20027}' эквивалентно суррогатной паре '\uD840\uDC27'.
\n Соответствует n, где n - это номер обратной ссылки, состоящий из одной цифры. Например, '(.)\1' соответствует двум последовательным одинаковым символам.
\nn Соответствует nn, где nn - это номер обратной ссылки, состоящий из двух цифр от 01 до 99. Например, '(.)\01' соответствует двум последовательным одинаковым символам.

Замечания:
- Квантификаторы регулярных выражений (*, +, {n,}) являются по умолчанию жадными. Чтобы сделать их нежадными, используется "?" после квантификатора, например, "\d*?". Чтобы сделать их сверхжадными, используется "+" после квантификатора, например, "\d*+".
- Использование сверхжадных квантификаторов увеличивает скорость выполнения выражения.
- Метасимволы \b, \B, \A, \a, \z, \Z, \K не используются в наборах знаков [xyz], т.к. не соотносятся с какими-либо конкретными знаками.
- Если метасимвол \K исключил символы из результата, кнопка "Заменить" в диалоге замены будет работать как "Найти".

Лицензионное соглашение

Данная программа распространяется на условиях лицензии BSD. Лицензия BSD (или BSD licence) - это лицензия программного обеспечения с открытым исходным кодом, одобренная OSI (Open Source Initiative). Её текст может быть найден на сайте этой организации.

Авторы

Шенгальц Александр (e-mail: shengalts@mail.ru)
Кузнецов Алексей

Домашняя страница: http://akelpad.sf.net