|
Регулярные выражения в 1С
| ☑ |
0
yavasya
10.01.19
✎
11:18
|
Доброе утро коллеги !
постоянно использую работу со строками в 1С, во многих случаях регулярные выражения обладают большими возможностями и короче запись кода. Если ли какие-либо ограничения на использование регулярных выражений ? Какие могут быть ошибки в программе ?
|
|
1
RomaH
naïve
10.01.19
✎
11:21
|
винда нужна
|
|
2
Гипервизор
10.01.19
✎
11:23
|
"У вас есть проблема. Вы решили использовать регулярные выражения чтобы её решить. Теперь у вас две проблемы."
|
|
3
Черный маклер
10.01.19
✎
11:23
|
Linux
|
|
4
RomaH
naïve
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(Текст);
несколько тысяч раз в сутки выполняется
|
|
5
Ненавижу 1С
гуру
10.01.19
✎
11:25
|
Вообще непонятно почему до сих пор не запилили
|
|
6
Deon
10.01.19
✎
11:25
|
(0) Создание ком-объекта в цикл пихать не надо
|
|
7
RomaH
naïve
10.01.19
✎
11:27
|
(6) почему?
и как быть?
|
|
8
RomaH
naïve
10.01.19
✎
11:28
|
+7 - у меня не совсем цикл, но вызов идет в обработке получения данных выбора - т.е. от 2 до 20 раз по мере набора строки поиска
|
|
9
d4rkmesa
10.01.19
✎
11:29
|
(0) Надо от задачи исходить. Если простая валидация, можно делать проще через XDTO. А если хотите извлекать все возможные подстроки, то подумайте еще, что с этим добром будете делать. Вариант как в (4) у меня вполне работает, включая отчеты на СКД на много-много строк. Только повторное использование в модуле включить.
|
|
10
gantonio
10.01.19
✎
11:30
|
да никаких проблем.
|
|
11
Deon
10.01.19
✎
11:32
|
(7) Потому что тормозит. Если есть возможность не пихаь в цикл, то лучше не пихать )
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший