C# Regex

Radugniy

Client
Регистрация
10.10.2013
Сообщения
50
Благодарностей
7
Баллы
8
Всем привет!
Помогите плз кодом!

Есть такой текст:
{"response":[{"id":555555,"first_name":"Вася","last_name":"Пупкин","photo_50":"http:\/\/vk.com\/images\/camera_50.gif","counters":{"albums":0,"videos":0,"audios":0,"notes":0,"photos":0,"groups":0,"gifts":1,"user_videos":0,"followers":0}}]}

Нужно выдернуть все значения и положить каждое в свою переменную.

Обычных кубиков чересчур дофига получается, да и подобных regex-ов во всем проекте не сосчитать, уже глаза разбегаются где чего)

Ну либо хотя бы одно выдернуть, а там продублирую в коде да регекс поменяю.

Пытался с таким кодом попробовать, но выдает полностью весь текст, как без регулярки
Код:
string Test = project.Variables["friends_INFO_ALL_get"].Value;
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, "(?<=name\":\").*(?=\",\"last)", "");
return regexTest;
В итоге еще до меня дошло что только в одну переменную и смогу закинуть(
 
  • Спасибо
Реакции: Osminogus

Radugniy

Client
Регистрация
10.10.2013
Сообщения
50
Благодарностей
7
Баллы
8
Все, вопрос решен в очередной раз благодаря Nick !
Огромное ему спасибо!
 
Регистрация
22.01.2015
Сообщения
77
Благодарностей
6
Баллы
8
Можно увидеть решение вопроса, пожалуйста?
 

Radugniy

Client
Регистрация
10.10.2013
Сообщения
50
Благодарностей
7
Баллы
8
Можно увидеть решение вопроса, пожалуйста?
конкретно под такой формат текста долго искать, прикладываю первый попавшийся код, который подходит:
Код:
//выдергиваем первое значение
string regex = "(?<=id\":).*(?=,\"name)"; // в кавычках заключаем регулярное выражение
string text =  project.Variables["Имя_переменной_с_исходным_текстом"].Value;
var reg = new System.Text.RegularExpressions.Regex(regex,  System.Text.RegularExpressions.RegexOptions.None);
//сохраняем результат в нужную переменную, не дожидаясь перитонита
project.Variables["Имя_переменной_в_которую_сохраняем_результат"].Value = reg.Matches(text)[0].ToString();

//выдергиваем второе значение
regex = "(?<=id\":).*(?=,\"name)"; // в кавычках заключаем регулярное выражение
text =  project.Variables["Имя_переменной_с_исходным_текстом"].Value;
reg = new System.Text.RegularExpressions.Regex(regex,  System.Text.RegularExpressions.RegexOptions.None);
//сохраняем результат в нужную переменную, не дожидаясь перитонита
project.Variables["Имя_переменной_в_которую_сохраняем_результат_2"].Value = reg.Matches(text)[0].ToString();

//выдергиваем третье значение
regex = "(?<=id\":).*(?=,\"name)"; // в кавычках заключаем регулярное выражение
text =  project.Variables["Имя_переменной_с_исходным_текстом"].Value;
reg = new System.Text.RegularExpressions.Regex(regex,  System.Text.RegularExpressions.RegexOptions.None);
//сохраняем результат в нужную переменную, не дожидаясь перитонита
project.Variables["Имя_переменной_в_которую_сохраняем_результат_3"].Value = reg.Matches(text)[0].ToString();

//завершаем работу
return reg.Matches(text)[0]; //эта строчка должна быть одна на весь код
Как видно есть повторяющиеся куски кода, их копипастом вставляем, меняем регулярку и переменную в которую сохраняем результат.

Не знаю вашего уровня знаний, поэтому постарался как можно проще все изъяснить)
 
  • Спасибо
Реакции: Zy6ek

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