Skip to content

Latest commit

 

History

History
77 lines (58 loc) · 3.5 KB

README.md

File metadata and controls

77 lines (58 loc) · 3.5 KB

Регулярные выражения для платформы 1С:Предприятие 8.3 (AddIn Native API)

Поддерживаемые платформы:

  • Linux (x86, x86-64)
  • Windows (x86, x86-64)

Пример использования:

Подключение компоненты на клиенте:
&НаКлиенте
Асинх Функция ПодключитьВК()
    результат = Новый Структура("Успех, ТекстОшибки", Истина, "");

    путьФайла = "ОбщийМакет.РегулярныеВыраженияВК";
    имяВК = "РегулярныеВыражения";

    подключено = Ждать ПодключитьВнешнююКомпонентуАсинх(
            путьФайла,
            имяВК, ТипВнешнейКомпоненты.Native);

    Если подключено = Ложь Тогда
        Ждать УстановитьВнешнююКомпонентуАсинх(путьФайла);
        подключено = Ждать ПодключитьВнешнююКомпонентуАсинх(путьФайла, имяВК, ТипВнешнейКомпоненты.Native);

        Если подключено = Ложь Тогда
            результат.Успех = Ложь;
            результат.ТекстОшибки = "Ошибка подключение внешней компоненты";
        КонецЕсли;

        Возврат результат;
    КонецЕсли;

    Возврат результат;
КонецФункции

&НаКлиенте
Асинх Функция ЗаменитьТекстАсинх(Знач исходныйТекст, Знач шаблонВыражения, Знач текстЗамены, Знач искатьВсеСоответствия = Ложь)
    результатПодключения = Ждать подключить(
            "ОбщийМакет.РегулярныеВыраженияВК",
            "РегулярныеВыражения");

    Если результатПодключения.Успех = Ложь Тогда
        сообщение = Новый СообщениеПользователю;
        сообщение.Текст = результатПодключения.ТекстОшибки;
        сообщение.Сообщить();

        Возврат;
    КонецЕсли;

    РегВыраженияВК = Новый("Addin.РегулярныеВыражения.RegExp");
    результатЗамены = Ждать РегВыраженияВК.ЗаменитьТекстАсинх(
            исходныйТекст,
            шаблонВыражения,
            текстЗамены,
            искатьВсеСоответствия);

    Возврат результатЗамены.Значение;
КонецФункции
&НаКлиенте
Асинх Процедура Тест()
    ожидаемыйРезультат = "123-456-7890";
    результатЗамены = ЗаменитьТекстАсинх("1234567890", "([0-9]{3})([0-9]{3})([0-9]{4})", "$1-$2-$3");

    сообщение = Новый СообщениеПользователю;
    результатТеста = ?(результатЗамены = ожидаемыйРезультат, "Успех", "Неудача");
    сообщение.Сообщить();
КонецПроцедуры