[Решено] Несколько действий в одном сниппете, регулярки и списки

hitlis

Client
Регистрация
15.02.2016
Сообщения
2
Благодарностей
1
Баллы
3
Подскажите пожалуйста кто может, задача:

есть Список 1
есть Список 2

1. берём строку и удаляем из первого списка
2. обрабатываем эту строку Regex и получаем значение name2
3. обрабатываем эту же строку Regex и получаем значение email2
4. склеиваем эти значения через ; т.е. получаем строку name2;email2 и записываем её в Список 2

Через графику всё делается легко но работает очень долго, можно ли через один сниппет Свой C# код это сделать?


Вот что делаю но не получается до конца, запнулся на регулярке

Код:
var Spisok1 = project.Lists["Список 1"];
lock(SyncObjects.ListSyncer)
{
var spisok = Spisok1[0];
Spisok1.RemoveAt(0);

var pattern1 = @"(?<=/">)[\w\W]*?(?=\ )"; // Здесь выдаёт ошибки: Компиляция кода  Ошибка в действии "CS1056" "Непредусмотренный символ "\"". И Компиляция кода  Ошибка в действии "CS1010" "Символ новой строки в константе".

var spisok21 = Regex.Match(spisok, pattern1).Value;
project.Variables["name2"].Value = spisok21;

var pattern2 = @"(?<=data-email=")[\w\W]*?(?=")"; // Здесь выдаёт ошибки: Компиляция кода  Ошибка в действии "CS1056" "Непредусмотренный символ "\"".

var spisok22 = Regex.Match(spisok, pattern2).Value;
project.Variables["email2"].Value = spisok22;

... еще нужно добавить склеивание name2;email2 и запись этой строки в Список 2
}
 

hitlis

Client
Регистрация
15.02.2016
Сообщения
2
Благодарностей
1
Баллы
3
Сам разобрался, всё дело в кавычках было, ниже правильный код, может пригодится кому:

Код:
var Spisok1 = project.Lists["Список 1"];
var Spisok2 = project.Lists["Список 2"];
lock(SyncObjects.ListSyncer)
{
var spisok = Spisok1[0];
Spisok1.RemoveAt(0);

var pattern1 = @"(?<=/"">)[\w\W]*?(?=\ )";

var spisok21 = Regex.Match(spisok, pattern1).Value;
project.Variables["name2"].Value = spisok21;

var pattern2 = @"(?<=data-email="")[\w\W]*?(?="")";
var spisok22 = Regex.Match(spisok, pattern2).Value;
project.Variables["email2"].Value = spisok22;

spisok = spisok22+","+spisok21;
Spisok2.Add(spisok);
}
 
  • Спасибо
Реакции: doc

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)