|
Регулярные выражения в 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) Потому что тормозит. Если есть возможность не пихаь в цикл, то лучше не пихать )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |