Дополнение №15 | |
Параметр formt<>, ?F (см. в Дополнение №24)
formt<1(,2,3,..., N)>
formt<u1,...,uN>
formt<0!!RegExp!!Replace>
formt<1(,2,3,..., N),u1,...,uN!!RegExp!!Replace>
formt<1,2,3,4,5,u1,u2,u3,u4,u5,u6,u7,u8,h2,h8,e2,e3,e4,e5,e6,e7>
formt<1--5,u1--u8,h2,h8,e2--e7>
formt<1:A:,u1:A:,u2,...>
formt<6,1,3...,N:B:,key1,key2,...,keyN:B:key1,key2,...,keyN>
formt<6,1,3...,N:C:,key1,key2,...,keyN:C:key1,key2,...,keyN:C:Delimeter^^Line>
key1++key8
будет преобразована в key1,key2,key3,key4,key5,key6,key7,key8
formt<key1++key8:C:Delimeter>
formt<key1,key8:C:Delimeter^^Line>
xxx=<\input>||111
xxx=\h+||C\hr(32
xxx=\h+||$\GLOBALSENDS[N]
Параметр | Описание |
Numbers |
Форматирует текст встроенными шаблонами. 1,2,3,..., N - номера преобразований (см. таблицу значений форматирования текста) Может быть несколько в любом порядке перечисленных через запятую.
Пример записи:
stext=%WL||x||formt<6,1>||clip<> ;; извлечь все ссылки из выделенных файлов, удалить дубликаты и записать в буфер обмена |
n!!RegExp -n!!RegExp +n!!RegExp |
Производит в тексте поиск совпадений регулярного выражения. n - номер преобразований из таблицы (по умолчанию 0) по умолчанию возвращаются все найденные совпадения через разделитель переноса строки. при -n возвращается 1 (совпадение найдено) или 0 (не найдено). при +n поиск до первого совпадения, возвращается первое найденное совпадение. RegExp - строка регулярных выражений для поиска.
Пример записи:
sends=-1!!-1||formt<0!!([^/]+)> GLOBALSENDS<a> ;; разбить путь ссылки в буфере обмена по обратным слешам и вывести результат |
n!!RegExp!!Replace!!Flag |
Производит в тексте поиск и замену, используя регулярное выражение. n - номер преобразований из таблицы (по умолчанию 0) RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения. Flag [необязательный] - количество замен в строке. по умолчанию 0 - выполняет замену всех найденных образцов. Возвращает строку преобразованную регулярным выражением. |
#NumberLine:F: |
Сортирует файлы с помощью информации параметра info Дополнения №10. # - обязательный символ, означающий сортировку. Number - режим: 0 - сортировать по возрастанию. 1 - сортировать по убыванию. 2 - сортировать по числовому возрастанию. 3 - сортировать по числовому убыванию. (важно, при 2 и 3 выражение должно извлекать число) 4 - удалять дубликаты. 5 - удалять дубликаты (без учёта регистра). Line - строка параметров из Дополнения №10. :F: - тег, вместо которого будет вставлен объект из списка при сортировке.  Есть возможность сортировать по нескольким данным из параметра info   #NumberLine:F:&&Line:F:&& ... &&Line:F:   Разделитель между параметрами &&
Пример записи:
global alist=%WL||formt<#2i1:F:> GLOBALALIST<a> ;; сортировать выделенные изображения по ширине по возрастанию |
keys |
key1,key2,key3,...,keyN - имена ключей в секции [FormatUser] в TCIMG.ini, в которых прописываются пользовательские шаблоны регулярных выражений для дополнительного форматирования. Может быть несколько перечисленных в любом порядке через запятую. Имена пользовательских шаблонов могут содержать латинские символы, цифры. Синтаксис: 1. key=RegExp RegExp - строка регулярных выражений для поиска. Возвращаются все найденные совпадения через разделитель переноса строки.
Пример записи:
[FormatUser] 2. key=RegExp||Replace RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения. Возвращает строку преобразованную регулярным выражением.
Пример записи:
[FormatUser] |
fun_keys |
Имена шаблонов с приставкой fun_ позволяют производить замену на "функцию"
Синтаксис: fun_key=RegExp||Replace||Count||Flag||StringNumber RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения, в замене могут быть задействованы: - встроенные и вспомогательные функции Autoit (строки необходимо обрамлять одинарными кавычками и использовать символ присоединения строк &) - математические операторы при действиях с числами "+-*/^" - тернарные условия: (логическое выражение)?выражение1:выражение2 - глобальные переменные $var_... , созданные в команде exect - глобальные переменные GLOBALNAME..., созданные другими командами см. Дополнение №23 - теги: :NUMFORMAT: заменяется числом текущего найденного совпадения с шаблоном (отсчёт с 0) (можно использовать математические действия для получения других чисел (к примеру, :NUMFORMAT:+1)) :MAXFORMAT: заменяется числом (количеством всех найденных совпадений с шаблоном) :QUOTES1: или :QUOTES2: добавляется в начале замены Replace :QUOTES1: - в найденных фрагментах игнорируются одинарные кавычки. :QUOTES2: - в найденных фрагментах игнорируются двойные кавычки. [:delete:] означает удаление совпадений (удаление найденных фраз). Count [необязательный]: 1 - поочерёдная замена каждого найденного образца (по умолчанию) 0 - одновременная замена всех найденных образцов (в некоторых случаях Count может использоваться как число замен) Flag [необязательный]: 1 - обрабатывать параметры в тексте (по умолчанию) (параметры GLOBALNAME 0 - не обрабатывать StringNumber [необязательный]: Строка состоящая из номера или номеров найденных совпадений, которые необходимо заменить. Номера прописываются через запятую. Пример: 1,5,8 При отрицательных числах отсчёт ведётся с конца. Пример: 3,-1,-2 Поддерживается диапазон(ы) номеров. Пример: 2:5 Пример: 1,3:6,8:11,13:-1 Первый символ "#" означает "кроме" заданных номеров. Пример: #1,5,8 Первый символ "@" означает чередование в диапазоне найденных совпадений: @Start|End|Step|InArow, где: Start - минимальное значение диапазона. End - максимальное значение диапазона (при -1 все совпадения). Step - шаг чередования (по умолчанию 1). InArow - количество подряд номеров (по умолчанию 1).
Пример записи:
[FormatUser] |
fnc_keys |
Имена шаблонов с приставкой fnc_ позволяют производить замену на "функцию".
Синтаксис: fnc_key=RegExp||Replace||Count||Flag RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения, в замене могут быть задействованы: - $1, $2, ... $9 - группы замены; для отделения групп от цифр используются ${1}, ${2}, ... ${3} - встроенные и вспомогательные функции Autoit (строки необходимо обрамлять одинарными кавычками и использовать символ присоединения строк &) - математические операторы при действиях с числами "+-*/^" - тернарные условия: (логическое выражение)?выражение1:выражение2 - глобальные переменные $var_... , созданные в команде exect - глобальные переменные GLOBALNAME..., созданные другими командами см. Дополнение №23 - теги: :NUMFORMAT: заменяется числом текущего найденного совпадения с шаблоном (отсчёт с 0). :NUMFORMAT1: заменяется числом текущего найденного совпадения с шаблоном (отсчёт с 1). (можно использовать математические действия для получения других чисел (к примеру, :NUMFORMAT:+1)). :MAXFORMAT: заменяется числом (количеством всех найденных совпадений с шаблоном). :NUMBER: и :LISTNUM: заменяется числом очерёдности в командах slist и других. :NUMCYCLE: заменяется числом - номером строки при построчной обработке текста, при Flag=1 (отсчёт с 1). [:delete:] означает удаление совпадений (удаление найденных фраз, относительно параметра Count). rnm<> заменяется случайными данными, параметры такие же как в Дополнении №30, кроме ?Count tnm<> заменяется числовым счётчиком, параметры такие же как в n9 см. Дополнение №10. enm<> заменяется буквенным счётчиком, параметры такие же как в n92 см. Дополнение №10. rom<> заменяется римским счётчиком, параметры такие же как в n94 см. Дополнение №10. arm<> заменяется армянским счётчиком, параметры такие же как в n96 см. Дополнение №10. grg<> заменяется грузинским счётчиком, параметры такие же как в n98 см. Дополнение №10. rnm<>, tnm<>, enm<>, rom<> могут использоваться несколько раз в любой последовательности. Count [необязательный] возможны варианты: N - количество замен. По умолчанию 0 - выполняет замену всех найденных образцов. &StringNumber - преобразования заданных номеров найденных образцов. #StringNumber - преобразования кроме заданных номеров найденных образцов. StringNumber - строка состоящая из номера, номеров или диапазонов чисел. Номера прописываются через запятую. Пример: 1,5,8
При отрицательных числах отсчёт ведётся с конца. Пример: 3,-1,-2
Поддерживается диапазон(ы) номеров. Пример: 2:5 Пример: 1,3:6,8:11,13:-1
@Start|End|Step|InArow, преобразования чередующих номеров найденных образцов, где: Start - минимальное значение диапазона. End - максимальное значение диапазона (при -1 все совпадения). Step - шаг чередования (по умолчанию 1). InArow - количество подряд номеров (по умолчанию 1). Flag [необязательный] режим обработки: 0 - обрабатывается весь текст (по умолчанию). 1 - построчная обработка (т.е. регулярное выражение применяется к каждой строке отдельно).
Пример записи:
[FormatUser] Примечания: По сравнению с ключами fun_key, ключи fnс_key гораздо быстрее обрабатывают большой текст. |
sort_keys |
Имена шаблонов с приставкой sort_ позволяют сортировать текст с помощью регулярного выражения.
Синтаксис: sort_key=RegExp||Replace||Mode||Start||End||Func RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения. Mode 0 - сортировать по возрастанию. 1 - сортировать по убыванию. 2 - сортировать по числовому возрастанию. 3 - сортировать по числовому убыванию. (важно, при 2 и 3 регулярное выражение должно извлекать число). 4 - удалять дубликаты. 5 - удалять дубликаты (без учёта регистра). Start [необязательный] индекс массива, от которого начинать сортировку (отсчёт с 0, по умолчанию 0). End [необязательный] индекс массива, в котором закончить сортировку (0 - до конца массива, по умолчанию 0). Func [необязательный] 1 - вычислить с помощью функций Autoit (в замене Replace могут использоваться функции Autoit) 0 - простая замена (по умолчанию). Принцип работы: 1. Текст разбивается построчно. 2. В каждой строке ищется фраза, заданная регулярным выражением (поиск и замена). 3. По найденным фразам сортируются строки текста.
Пример записи:
[FormatUser] |
lot_keys |
Имена шаблонов с приставкой lot_ позволяют производить многократный поиск и замену.
Синтаксис: lot_key=RegExp||Replace RegExp - строка регулярных выражений для поиска. Replace - текст замены регулярного выражения. Поиск и замена будут производиться пока замены не закончатся.
Пример записи:
[FormatUser] |
rgx_keys |
Имена шаблонов с приставкой rgx_ позволяют производить поиск и назначать разделитель между найденными совпадениями.
Синтаксис: rgx_key=RegExp||Flag||Number||Delimeter RegExp - строка регулярных выражений для поиска. Flag - [необязательный] режим поиска: 0 - возвращается 1, если совпадение найдено или 0, если не найдено. 1 - поиск до первого совпадения, возвращается полное совпадение с шаблоном. 3 - возвращаются все совпадения, разделённые разделителем Delimeter (по умолчанию). Number - [необязательный] позиция строки, начиная с которой будут искаться совпадения (по умолчанию 1) Delimeter - [необязательный] разделитель при объединении: символ или строка между найденными совпадениями (по умолчанию перенос строки) В отличие от обычного поиска с регулярными выражениями, можно выбирать разделитель при объединении найденных совпадений (по умолчанию перенос строки @CRLF) Может использоваться, когда регулярное выражение связано с получением нескольких строк.
Пример записи:
[FormatUser] |
cmd_keys |
Имена шаблонов с приставкой cmd_ позволяют производить преобразование с помощью сторонних консольных программ и утилит, а так же команд cmd.
Синтаксис: cmd_key=String String - возможны варианты: • строка команд и параметров. • путь к программе и её строка команд и параметров. Тег ?NameKey? позволяет вставить программу, прописанную в TCIMG.ini в секции [Programs], где NameKey - имя ключа Принцип действий: 1. Запускается заданная командная строка. 2. Передаётся в консоль текст на форматирование. 3. Считывается из консоли обработанный текст.
Пример записи:
[FormatUser] |
ndb_keys |
Имена шаблонов с приставкой ndb_ позволяют нумеровать дублирующие фразы, заданные регулярным выражением. Для каждой группы дубликатов отдельный счётчик. Синтаксис: ndb_key=RegExp||Replace||Mode||Start||Register RegExp - строка регулярных выражений для поиска. Replace - строка замены регулярного выражения. • чтобы вставить текст группы используются $1,$2,..., $9 • группа для которой нужно произвести нумерацию заключается в угловые скобки и внутри в любом месте прописывается тег :NDB:, который будет заменён нумерацией, пример: <$2 :NDB:>
• внутри <...> могут использоваться любые символы/разделители, кроме угловых скобок.
Mode - [необязательный] режим нумерации: 0 - первые найденные не нумеруются (по умолчанию). 1 - нумеруются все, начиная с первого. 2 - нумеруются только дубликаты, начиная с первого. Start - [необязательный] число с которого начинается нумерация (по умолчанию 1) Register - [необязательный] флаг установки чувствительности к регистру написания. 0 - учитывать регистр (по умолчанию). 1 - не учитывать регистр.
Пример записи:
[FormatUser] |
rps_keys |
Имена шаблонов с приставкой rps_ позволяют производить поиск и замену. Синтаксис: rps_key=Search||Replace||Count||Register Search - строка поиска. Replace - строка замены. Count - [необязательный] количество выполняемых замен: 0 - выполнить замену всех найденных строк (по умолчанию). используйте отрицательное число, чтобы выполнить замену справа. Register - [необязательный] флаг установки чувствительности к регистру написания. 0 - не учитывать регистр, используется локальный язык (по умолчанию). 1 - учитывать регистр. 2 - не учитывать регистр, используется основное/быстрое сравнение.
Пример записи:
[FormatUser] |
Значение | Описание | |
0 | 0 или пустое значение не обрабатывается - переходит к следующему | |
1 | удаление дубликатов строк | |
27 | удаление дубликатов строк (без учёта регистра) | |
31 | удаление дубликатов строк, дубликаты заменяются пустой строкой | |
32 | удаление дубликатов строк (без учёта регистра), дубликаты заменяются пустой строкой | |
9 | удаление дублирующихся строк (остаются строки, которые не повторялись) | |
28 | удаление дублирующихся строк (остаются строки, которые не повторялись) (без учёта регистра) | |
2 | удаление уникальных значений строк (остаются строки только повторяющиеся в одном экземпляре) | |
29 | удаление уникальных значений строк (остаются строки только повторяющиеся в одном экземпляре) (без учёта регистра) | |
39 | удаление уникальных значений строк с сохранением последовательности встречающихся повторов (остаются строки только повторяющиеся в одном экземпляре) | |
40 | удаление уникальных значений строк с сохранением последовательности встречающихся повторов (остаются строки только повторяющиеся в одном экземпляре) (без учёта регистра) | |
26 | удаление уникальных значений строк (остаются все повторяющиеся строки) | |
30 | удаление уникальных значений строк (остаются все повторяющиеся строки) (без учёта регистра) | |
33 | возвращает текст, не содержащий повторов строк (из повторяющихся строк остаются только первые) | |
34 | возвращает текст, не содержащий повторов строк (из повторяющихся строк остаются только первые) (без учёта регистра) | |
35 | удаление повторяющихся подряд строк (из повторяющихся строк остаются только первые) | |
36 | удаление повторяющихся подряд строк (из повторяющихся строк остаются только первые) (без учёта регистра) | |
5 | реверс строк текста | |
Получение различных объектов. | ||
6 | получение всех ссылок | |
7 | получение всех е-mail адресов | |
8 | получение всех IP адресов | |
18 | получение строк, в начале которых есть числа | |
19 | получение строк, в начале которых нет чисел | |
100 | получение всех возможных путей (C:\xxx.... , %WINDIR%\xxx...) | |
Сортировка строк. | ||
3 | сортировка по возрастанию | |
4 | сортировка по убыванию | |
20 | сортировка по числовому возрастанию (актуальна если в начале строк есть цифры, или вся строка является числом) (сортируются числа, включая отрицательные и с плавающей точкой) | |
21 | сортировка по числовому убыванию (актуальна если в начале строк есть цифры, или вся строка является числом) (сортируются числа, включая отрицательные и с плавающей точкой) | |
22 | сортировка по длине строки по возрастанию | |
23 | сортировка по длине строки по убыванию | |
Сортировка имен объектов пути. | ||
24 | сортировка по числовому возрастанию начальных цифр имени объекта пути | |
25 | сортировка по числовому возрастанию конечных цифр имени объекта пути | |
37 | сортировка по числовому убыванию начальных цифр имени объекта пути | |
38 | сортировка по числовому убыванию конечных цифр имени объекта пути | |
41 | сортировка по числовому возрастанию всех цифр имени объекта пути | |
42 | сортировка по числовому убыванию всех цифр имени объекта пути | |
Поочерёдная числовая и буквенная сортировка строк, в начале которых есть/нет чисел. | ||
10 | 0 9 a z | |
11 | 9 0 z a | |
12 | 0 9 z a | |
13 | 9 0 a z | |
14 | a z 0 9 | |
15 | z a 9 0 | |
16 | a z 9 0 | |
17 | z a 0 9 | |
Удаление различных символов. | ||
51 | удаление лишних пустых строк | |
52 | удаление конечных пробелов, табуляции в строках (Chr(9), Chr(32), Chr(160)) | |
53 | удаление начальных пробелов, табуляции в строках ... | |
54 | удаление начальных и конечных пробелов, табуляции в строках ... | |
55 | удаление всех пробелов, табуляции в строках ... | |
56 | удаление более одного пробела, табуляции в строках ... | |
57 | удалить переводы строк | |
58 | заменить переводы строк на пробел | |
59 | удаление первых пустых строк | |
60 | удаление последних пустых строк | |
61 | удаление по краям пустых строк | |
62 | удаление более одной пустой строки | |
63 | удаление всех пустых строк | |
64 | удаление всех табов в строках | |
66 |
удаление всех пустых строк пустые строки могут содержать пустые символы: Chr(9), Chr(10), Chr(12), Chr(13), Chr(32) (перенос страницы, табуляция, возврат каретки, перевод строки и пробел) | |
Различные замены и удаления объектов. | ||
65 | замена всех переносов подряд \r и \n на \r\n (@CR и @LF на @CRLF) | |
70 75 |
Удаление тегов в html или конвертация htm* в txt без дополнительного форматирования. 70 - часть тегов заменяются на пробел. 75 - теги удаляются. | |
72 |
Замена ссылки-мнемоники html на символы. Описание (см. Мнемоники в HTML) ± будет заменён на символ ±. в версии 29.8 добавлена мнемоника html5. ± будет заменён на символ ±. ☎ будет заменён на символ ☎. Для просмотра символов, кодов и мнемоники можно воспользоваться командой symvw. | |
73 |
Замена кодов на символы. 1. Замена кодов html на символы: код € будет заменён символом €. 2. Замена кодов xhtml на символы: код € будет заменён символом €. 3. Замена кодов html и xhtml, значения которых более 65535 на специальные символы, состоящие из 2-х символов: код 𝒜 или 𝒜 будет заменён символом 𝒜 (тоже что и �� или ��) код 𝔸 или 𝔸 будет заменён символом 𝔸 (тоже что и �� или ��) 4. Замена ссылки-мнемоники html на символы (тоже что и режим 72) | |
74 |
Удаление тегов в html или конвертация htm* в txt с дополнительным форматированием.
При получении текста из htm параметр постарается: 1. Сохранить структуру табличных данных в тегах <table> (если это возможно). 2. Сохранить структуру данных в тегах <pre>, <code>, <listing>, <xmp>, <plaintext>. 3. Сохранить структуру нумерованных списков в тегах <ol> с поддержкой значений атрибутов: type - вид маркера списка со значениями <ol type="A | a | I | i | 1" start="5" reversed>...</ol> .
A, a (буквенный счётчик); I, i (римский счётчик); 1 (числовой счётчик). start - номер, с которого будет начинаться список. reversed - меняет нумерацию в списке на обратный порядок. так же поддерживаются все цифровые и буквенные счётчики в теге style <ol style list-style-type="..."> .
(пока не поддерживаются отдельные атрибуты для тегов <li...>, возможно в будущем будет реализовано). 4. Сохранить структуру маркерованных списков в тегах <ul> с поддержкой значений атрибутов: type - вид маркера списка со значениями <ul type="circle | disc | square | none">...</ul> .
К элементам списка добавляется: ○ circle; • disc (по умолчанию); ◆ square; без добавления символа none. 5. Сохранить структуру маркерованных списков в тегах <menu>, <dir>. 6. Сохранить структуру списков в тегах <optgroup>, <option>, <blockquote>, <input> и др. 7. Сохранить начальные и внутренние отступы. Далее производится дополнительное форматирование: 8. Удаление однострочных и многострочных комментариев. 9. Удаление "шапки" htm, стилей и скриптов. 10. Удаление всех оставшихся тегов. 11. Замена мнемоники и кодов html (режим 73). 12. Удаление переносов в предложениях (если это возможно). 13. Удаление "мусора" и конечных пустых символов. 14. Удаление начальных, конечных и лишних пустых строк. Увидеть результат работы параметра можно воспользовавшись одной из команд:
;; просмотреть форматированный текст файла htm, html, chm... Если на каких-либо файлах (htm, html, xhtml, chm, mht) некорректно извлекается текстовая информация или остаётся "мусор", то вы можете их прислать для исправления форматирования... | |
80 |
Декодирование в тексте фраз URL UTF-8. (декодирует "%D0%A3%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D0%B0" в слово "Утилита") тоже самое, что и fun_convert6=(?i)((?:[=%][\dA-F]{2})+)||_StringConv('$1','#U¤¤?D65001') , но быстрее при повторяющихся фразах.
|