Skip to content

Releases: alexkmbk/RegEx1CAddin

RegEx1CAddin_15.zip

25 Feb 00:49
2759e5c
Compare
Choose a tag to compare
RegEx1CAddin_15.zip Pre-release
Pre-release

ТЕСТОВАЯ СБОРКА!
Добавлена поддержка получения именованных групп по имени (пока только для Windows и Linux).
Для получения группы по имени, необходимо в метод ПолучитьПодгруппу передать имя группы.
Примечание: Возможность получения именованной группы по индексу была и в прошлых версиях.

RegEx1CAddin_14.zip, RegExMac64_14.so, RegEx1CAddin_Android_14.zip, RegEx1CAddin_Browsers_14.zip

30 Dec 08:09
Compare
Choose a tag to compare

Новое в версии:

  • Добавлено новое свойство UCP типа булево (по умолчанию равно Ложь). Оно устанавливает флаг PCRE2_UCP в методе pcre2_compile, что включает обработку всех символов Unicode для директив \W и \w.
  • Исправлено падение платформы, при передачи в качестве текста шаблона или текста для поиска дробных числовых значений.
  • Исправлена неработающая очистка свойства ОписаниеОшибки.

На текущий момент, архив собран только для платформ Windows, Linux, MacOS, Android и Google Chrome for Windows.

14.0

28 Dec 08:25
3afdbe8
Compare
Choose a tag to compare
14.0 Pre-release
Pre-release

ВНИМАНИЕ! Тестовая сборка! (изменения только для Windows)

Включена опция PCRE2_UCP для подержки Юникода в директивах \W и \w

RegEx1CAddin_13.zip, RegEx1CAddin_Android_13.zip, RegEx1CAddin_Browsers_13.zip, RegExMac64_13.so

16 May 17:19
Compare
Choose a tag to compare
  • Осуществлен переход на библиотеку 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

23 May 15:15
Compare
Choose a tag to compare
  • Осуществлен переход на библиотеку 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

24 Apr 18:24
Compare
Choose a tag to compare

ТЕСТОВАЯ ВЕРСИЯ!
Осуществлен переход на библиотеку PCRE2 версии 10.36, вместо boost::regex. За счет этого, улучшена совместимость с Perl синтаксисом регулярных выражений, во многих сценариях существенно улучшена производительность.

RegEx1CAddin_12.zip,RegEx1CAddin_Android_12.zip,RegEx1CAddin_Browsers_12.zip

03 Jan 06:45
Compare
Choose a tag to compare

Изменения в версии:

Исправлена ошибка: могло быть обращение к неинициализированной области памяти при вызове свойства ТекущееЗначение после полного обхода коллекции результатов поиска.

RegEx1CAddin_11.zip,RegEx1CAddin_Android_11.zip,RegEx1CAddin_Browsers_11.zip

17 May 08:07
Compare
Choose a tag to compare

Изменения в версии:

  • Исправлено: на некоторых сборках Android не работали вызовы методов на кириллице
  • Оптимизация, рефакторинг

RegEx1CAddin_11_4.zip (тестовая версия)

08 May 19:08
c49210d
Compare
Choose a tag to compare

Изменения в версии (версия тестовая, пока только для Windows и Linux):

  • Исправлено падение на 64-битном Linux.
  • После выполнения метода НайтиСовпадения \ Matches при не соответствии шаблона поиска, количество результатов было больше нуля, даже при пустых значениях результатов.
  • Свойство ИгнорироватьРегистр\IgnoreCase теперь доступно как для записи так и для чтения.

RegEx1CAddin_11.zip (тестовая версия)

29 Apr 17:40
Compare
Choose a tag to compare

Изменения в версии (версия тестовая, пока только для 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 для возможности автоматической подгрузки информации о компоненте в справочник "ВнешниеКомпоненты" из БСП.