Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Регулярные выражения в 1С

Регулярные выражения в 1С
Я
   yavasya
 
10.01.19 - 11:18
Доброе утро коллеги !
постоянно использую работу со строками в 1С, во многих случаях регулярные выражения обладают большими возможностями и короче запись кода. Если ли какие-либо ограничения на использование регулярных выражений ? Какие могут быть ошибки в программе ?
 
 
   RomaH
 
1 - 10.01.19 - 11:21
винда нужна
   Гипервизор
 
2 - 10.01.19 - 11:23
"У вас есть проблема. Вы решили использовать регулярные выражения чтобы её решить. Теперь у вас две проблемы."
   Черный маклер
 
3 - 10.01.19 - 11:23
Linux
   RomaH
 
4 - 10.01.19 - 11:24
RegExp = Новый COMОбъект("VBScript.RegExp");
    RegExp.IgnoreCase = Истина;
    RegExp.MultiLine = Ложь;// истина — текст многострочный, ложь — одна строка

    
    RegExp.Global = Истина; 
    
    //Сначала обработаем временный номер

    Если Не ЗначениеЗаполнено(Подразделение) Тогда
        RegExp.pattern = "(\d+)";
        
        Результаты = RegExp.Execute(Текст);
        
        Если Результаты.Count() > 0 Тогда
            
            ВременныйНомер = Число(Результаты.Item(0).Value);
            
            СписокФизПоВременномуНомеру(ДанныеВыбора,ВременныйНомер);
            
            
        КонецЕсли;
    КонецЕсли;
    
    
    //Дальше поищем даты и прочее


    #Область ДатаРождения_И_ФИО

    
    RegExp.pattern = "(\d.*\d)";
    
    Результаты = RegExp.Execute(Текст);

несколько тысяч раз в сутки выполняется
   Ненавижу 1С
 
5 - 10.01.19 - 11:25
Вообще непонятно почему до сих пор не запилили
   Deon
 
6 - 10.01.19 - 11:25
(0) Создание ком-объекта в цикл пихать не надо
   RomaH
 
7 - 10.01.19 - 11:27
(6) почему?
и как быть?
   RomaH
 
8 - 10.01.19 - 11:28
+7 - у меня не совсем цикл, но вызов идет в обработке получения данных выбора - т.е. от 2 до 20 раз по мере набора строки поиска
   d4rkmesa
 
9 - 10.01.19 - 11:29
(0) Надо от задачи исходить. Если простая валидация, можно делать проще через XDTO. А если хотите извлекать все возможные подстроки, то подумайте еще, что с этим добром будете делать. Вариант как в (4) у меня вполне работает, включая отчеты на СКД на много-много строк. Только повторное использование в модуле включить.
   gantonio
 
10 - 10.01.19 - 11:30
да никаких проблем.
 
 Рекламное место пустует
   Deon
 
11 - 10.01.19 - 11:32
(7) Потому что тормозит. Если есть возможность не пихаь в цикл, то лучше не пихать )

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует