Имя: Пароль:
1C
1С v8
Помогите с регуляркой
0 Rom_Kat
 
08.04.16
19:08
Если вот такая одна из строк.

"00045607","3","796",32.84,"98.52","НДС18","15.03","0","0","00045526","Готовые соусы Мечта Хозяйки","00045791","Майонез","00000001","Майонез маргарин кетчуп горчица ЕЖК","","","4300000127","2122 Соус МХ Тартар 40% 200 мл*16","2122Соус майонезный ""Мечта хозяйки"" Тартар 40%, Дой-пак 200 мл (196г)","шт","Прочее","","0.18","Россия","","","82.71",0

Строка сформирована в 1с 7.7 методом СпискаЗначений ВСтрокуСРазделителями() И при загрузке в строки в другую 7.7 методом ИзСтрокиСРазделителями(<Строка>)

Но теперь надо эту строку грузить в 1с 8 и тут я использую регулярные выражения.

Патерн ("[^"]*"|[0-9.]{1,}) разбирает практически все строки, а во такие как эти не может так как в полях имеются ковычки и запятые.

Прошу помочь в правке патерна или подсказать как в 1с 8 прочитать данную строку так же как это можно делать в 1с 7.7
1 Rom_Kat
 
08.04.16
19:10
надо чтобы вот это выражение "2122Соус майонезный ""Мечта хозяйки"" Тартар 40%, Дой-пак 200 мл (196г)" читалос как одно поле.
2 Strogg
 
08.04.16
19:13
Придумай разделитель позаковыристее. Например, %, или вообще, что нибудь символьное, что не будет использоваться в наименовании 99.99%
3 Rom_Kat
 
08.04.16
19:18
так он в 1с 7.7 стандартный (,)
и ни как по другому - печать такая вот.
4 Rom_Kat
 
08.04.16
19:19
так то можно еще позаковырестее  # или ^
5 mingw
 
08.04.16
19:19
6 Rom_Kat
 
08.04.16
19:23
(5) сам такой
7 Rom_Kat
 
08.04.16
19:26
(2) за совет спасибо. Уберу видимо я этот метод и сформирую строку в цикле с нужными разделителями.
8 mingw
 
08.04.16
20:49
(6) Скажи чем не нравится стандартная КД? Не вижу причин не применять ее.
Если же нужна "скорость" или навороты то есть не менее стандартный XBase.
Или еще более стандартный OLE|COM. Причем можно как из 7.7 в 8.Х так и наоборот соединяться.

А уже запись в строки с разделителями это стандарт из стандартов.
Причем чтобы точно не было проблем (с встречаемостью разделителей в наименованиях или еще где) можно использовать Разделитель1 = Симв(1), Разделитель2 = Симв(2) и т.д. для вложенных в одну строку объектов 1С.