Releases: alexkmbk/RegEx1CAddin
RegEx1CAddin_15.zip
ТЕСТОВАЯ СБОРКА!
Добавлена поддержка получения именованных групп по имени (пока только для Windows и Linux).
Для получения группы по имени, необходимо в метод ПолучитьПодгруппу передать имя группы.
Примечание: Возможность получения именованной группы по индексу была и в прошлых версиях.
RegEx1CAddin_14.zip, RegExMac64_14.so, RegEx1CAddin_Android_14.zip, RegEx1CAddin_Browsers_14.zip
Новое в версии:
- Добавлено новое свойство UCP типа булево (по умолчанию равно Ложь). Оно устанавливает флаг PCRE2_UCP в методе pcre2_compile, что включает обработку всех символов Unicode для директив \W и \w.
- Исправлено падение платформы, при передачи в качестве текста шаблона или текста для поиска дробных числовых значений.
- Исправлена неработающая очистка свойства ОписаниеОшибки.
На текущий момент, архив собран только для платформ Windows, Linux, MacOS, Android и Google Chrome for Windows.
14.0
RegEx1CAddin_13.zip, RegEx1CAddin_Android_13.zip, RegEx1CAddin_Browsers_13.zip, RegExMac64_13.so
- Осуществлен переход на библиотеку PCRE2 версии 10.36, вместо boost::regex. За счет этого, улучшена совместимость с Perl синтаксисом регулярных выражений, а также во многих сценариях существенно улучшена производительность;
- Добавлен метод MatchesJSON\НайтиСовпаденияJSON(<Текст для анализа>, [<Регулярное выражение>]) - возвращает результат в виде JSON текста. Метод позволяет значительно быстрее получить и обработать результат поиска (за счет минимизации вызовов методов через NativeAPI);
- Добавлено свойство FirstIndex - аналог свойства FirstIndex из VBScript.RegExp;
- Добавлено свойство Multiline\Многострочный (По умолчанию = Истина, на движке boost::regex режим Multiline был по умолчанию и его нельзя было отключить);
- Добавлен синоним Test для метода IsMatch.
ВНИМАНИЕ! При переходе с версии 12, рекомендуется проверить работу ваших текущих регулярных выражений на предмет совместимости с новой версией. Поскольку в версии 13 используется новый движок, могут быть расхождения в результатах работы регулярных выражений, поскольку работа boost:regex и PCRE2 не идентична.
RegEx1CAddin_13.zip, RegEx1CAddin_Android_13.zip, RegEx1CAddin_Browsers_13.zip, RegExMac64_13.so
- Осуществлен переход на библиотеку PCRE2 версии 10.36, вместо boost::regex. За счет этого, улучшена совместимость с Perl синтаксисом регулярных выражений, а также во многих сценариях существенно улучшена производительность;
- Добавлен метод MatchesJSON\НайтиСовпаденияJSON(<Текст для анализа>, [<Регулярное выражение>]) - возвращает результат в виде JSON текста. Метод позволяет значительно быстрее получить и обработать результат поиска (за счет минимизации вызовов методов через NativeAPI);
- Добавлено свойство FirstIndex - аналог свойства FirstIndex из VBScript.RegExp;
- Добавлено свойство Multiline\Многострочный (По умолчанию = Истина, на движке boost::regex режим Multiline был по умолчанию и его нельзя было отключить);
- Добавлен синоним Test для метода IsMatch;
- Добавлен более расширенный вывод сообщений об ошибках.
ВНИМАНИЕ! При переходе с версии 12, рекомендуется проверить работу ваших текущих регулярных выражений на предмет совместимости с новой версией. Поскольку в версии 13 используется новый движок, могут быть расхождения в результатах работы регулярных выражений, поскольку работа boost:regex и PCRE2 не идентична.
RegEx1CAddin_13.zip, RegEx1CAddin_Android_13.zip, RegExMac64_13.so, RegEx1CAddin_Browsers_13.zip
ТЕСТОВАЯ ВЕРСИЯ!
Осуществлен переход на библиотеку PCRE2 версии 10.36, вместо boost::regex. За счет этого, улучшена совместимость с Perl синтаксисом регулярных выражений, во многих сценариях существенно улучшена производительность.
RegEx1CAddin_12.zip,RegEx1CAddin_Android_12.zip,RegEx1CAddin_Browsers_12.zip
Изменения в версии:
Исправлена ошибка: могло быть обращение к неинициализированной области памяти при вызове свойства ТекущееЗначение после полного обхода коллекции результатов поиска.
RegEx1CAddin_11.zip,RegEx1CAddin_Android_11.zip,RegEx1CAddin_Browsers_11.zip
Изменения в версии:
- Исправлено: на некоторых сборках Android не работали вызовы методов на кириллице
- Оптимизация, рефакторинг
RegEx1CAddin_11_4.zip (тестовая версия)
Изменения в версии (версия тестовая, пока только для Windows и Linux):
- Исправлено падение на 64-битном Linux.
- После выполнения метода НайтиСовпадения \ Matches при не соответствии шаблона поиска, количество результатов было больше нуля, даже при пустых значениях результатов.
- Свойство ИгнорироватьРегистр\IgnoreCase теперь доступно как для записи так и для чтения.
RegEx1CAddin_11.zip (тестовая версия)
Изменения в версии (версия тестовая, пока только для Windows и Linux):
- Добавлен метод КоличествоВложенныхГрупп\SubMatchesCount
Метод возвращает количество групп (подгрупп\SubMatches) если в шаблоне были заданы группы, например, для шаблона ([A-Za-z]+)\s+([a-z]+) будет возвращено значение 2. Метод возвращает значение только после выполнения метода НайтиСовпадения \ Matches. - Добавлен метод ПолучитьПодгруппу \ GetSubMatch (<ИндексПодгруппы>)
Метод возвращает строковое значение подгруппы из результатов поиска методом НайтиСовпадения \ Matches. У метода один параметр - Индекс группы, он задает индекс группы, который следует получить(доступны значения от 0 до КоличествоВложенныхГрупп - 1). - У метода НайтиСовпадения \ Matches добавлен третий, необязательный параметр типа булево, включающий\отключающий иерархический обход результатов поиска.
Полный пример иерархического обхода:
Рег.НайтиСовпадения("Hello world", "([A-Za-z]+)\s+([a-z]+)", Истина); // Истина - иерархический обход
Сообщить( Рег.Количество()); // 1 - всего один результат, а не 3
Сообщить( Рег.КоличествоВложенныхГрупп()); // 2 - две подгруппы (submatches)
//Обходим MatchCollection
Пока Рег.Следующий() Цикл
Сообщить(Рег.ТекущееЗначение); // Hello world
Сообщить(Рег.ПолучитьПодгруппу(0)); // Hello
Сообщить(Рег.ПолучитьПодгруппу(1)); // world
КонецЦикла;
- В архив добавлен файл info.xml для возможности автоматической подгрузки информации о компоненте в справочник "ВнешниеКомпоненты" из БСП.