Page 1 of 1

Релиз AkelPad 4.8.6

Posted: Sat Dec 07, 2013 3:12 pm
by Instructor
Изменено: квантификаторы регулярных выражений теперь являются по умолчанию жадными (кроме одинарной точки, например, ".*" или ".{5,10}"). Чтобы сделать их нежадными (старый принцип), используется "?" после квантификатора, например, "\d*?". Жадные регулярные выражения AkelPad'а выполняются последовательно. Например, шаблон "ab?b" в "abc" не имеет совпадений, т.к. "ab?" соответствует "ab" и последующее "b" не имеет совпадений. Корректный шаблон, в данном случае, будет "abb?".
Изменено: при использовании опции "Не открывать программу дважды", ручные параметры "CmdLineBegin" и "CmdLineEnd" передаются только первому экземпляру программы (MDI).

Добавлено: ручные параметры "TabNameFind" и "TabNameRep" - определяют шаблон поиска/замены регулярного выражения для имени вкладки в режиме MDI/PMDI.
Добавлено: прерывание клавишей Escape перемещения вертикального маркера с помощью мыши.
Добавлено: необязательный параметр в метод командной строки /Command() для его передачи внутренней команде.

Исправлено: режим замены блокнота в инсталляторе (WinVista/7/8).


<<Скачать>>

Re: Релиз AkelPad 4.8.6

Posted: Sat Dec 07, 2013 8:09 pm
by Infocatcher
Instructor wrote:Добавлено: ручные параметры "TabNameFind" и "TabNameRep" - определяют шаблон поиска/замены регулярного выражения для имени вкладки в режиме MDI/PMDI.
Пример из AkelHelp-Rus.htm
TabNameFind=(.{20})[^.]{3,}(.*)
TabNameRep=\1..\2
превращает «shellext-unregister.cmd» в «shellext-unregister...».
А, например, «TabNameFind=(.{18})[^.]{3,}(.*)» делает то же самое с «shellext-register.cmd».

Re: Релиз AkelPad 4.8.6

Posted: Sat Dec 07, 2013 9:17 pm
by DV
Можно попробовать так: (.{1,10}).*(.{4})

Только что наткнулся на регулярное выражение, которое валит AkelPad и 4.8.5 и 4.8.6 :(
Как только в любом непустом файле запускаем поиск с любым из следующих регулярных выражений, AkelPad падает:

Code: Select all

.{}\.[^\.]{1,}
.{}.{1,}
.{}.{1}
.{}.{,}
a{}b{1}
a{1}b{}c
ab{}c
При этом поиск ab{} просто ничего не находит, даже если сочетание ab встречается в файле.

Posted: Sun Dec 08, 2013 6:52 am
by Instructor
Infocatcher
Все верно. Можно, например, поменять на "(.{20})[^.]{4,}(.*)", т.к. расширения в основном из не более трех символов состоят.

DV
Поправлено. Теперь будет выдавать синтаксическую ошибку.

Posted: Sun Dec 08, 2013 1:28 pm
by Skif_off
Instructor wrote:Поправлено. Теперь будет выдавать синтаксическую ошибку.
Т.е. в ближайшее время можно ждать 4.8.7?

Posted: Mon Dec 09, 2013 6:01 pm
by YuS
Instructor wrote: Можно, например, поменять на "(.{20})[^.]{4,}(.*)"
Пример

Вы уж простите мою назойливость, но я опять со своей идефикс. :)
пример
Замена:
\1..\2\3

Posted: Fri Jan 24, 2014 3:09 pm
by Instructor

Posted: Fri Jan 24, 2014 5:52 pm
by YuS
Instructor wrote:YuS
Тестовая версия
Вот! То, что и хотелось. Огромное спасибо!

Теперь работает такое правило:

Code: Select all

^([^\n]{20})[^.\n]*(?:(\.)((?(2)[^.\n]*)))*$
Имена файлов укорачивает так, как и требовалось.

Имена файлов:

Code: Select all

1.1234567890.ab
2.123456789012345678901.ab
3.1234567890123456789012.ab
4.12345678901234567890123.ab
5.123456789012345678901234.ab
6.1234567890123456789012345.ab
7.12345678901234567890123456.ab
8.123456789012345678901234567890.ab
9.123456789012345678901234567890.1234567890123456.7890.ab
0.123456789012345678901234567890.12345678901.234567890....abcdef012345
  12345678901234567890123456789012345678901234567890
укорачиваются к виду:

Code: Select all

1.1234567890.ab
2.123456789012345678...ab
3.123456789012345678...ab
4.123456789012345678...ab
5.123456789012345678...ab
6.123456789012345678...ab
7.123456789012345678...ab
8.123456789012345678...ab
9.123456789012345678...ab
0.123456789012345678...abcdef012345
  123456789012345678..

Posted: Sat Jan 25, 2014 6:43 am
by Skif_off
YuS

Code: Select all

TabNameFind=^([^\n]{20})[^.\n]*(?:(\.)((?(2)[^.\n]*)))*$
TabNameRep=\1..\2\3
Получаю
1.
Слияние_текстовых_файлов_в_папке.au3
Слияние_текстовых_фа...au3
2.
MINIMIZETOTRAY-RUS.TXT
MINIMIZETOTRAY-RUS.T..
3.
Quoted-Printable.au3
Quoted-Printable.au3..