- Регистрация
- 27.12.2014
- Сообщения
- 43
- Благодарностей
- 4
- Баллы
- 8
Здравствуйте, использую в своем шаблоне такой кубик для парсинга информации с сайта:
//Получаем название новости
string regex = @"(?<=title="").*?(?="")";
string text = project.Variables["shortnews_donor"].Value;
var reg = new System.Text.RegularExpressions.Regex(regex, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_title"].Value = reg.Matches(text)[0].ToString();
//Получаем ссылку на полную новость
string regex2 = @"(?<=href="").*?(?="")";
var reg2 = new System.Text.RegularExpressions.Regex(regex2, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_fullstorylink"].Value = reg2.Matches(text)[0].ToString();
//Получаем ссылку на картинку короткой новости
string regex3 = @"(?<=<img\ src="").*?\.jpg";
var reg3 = new System.Text.RegularExpressions.Regex(regex3, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_shortstoryImage"].Value = reg3.Matches(text)[0].ToString();
Это только его часть. Суть в чем, этот кубик вырывает из полученного исходного кода, нужную мне информацию с помощью рег. выражений и сохраняет в соответствующие переменные. Загвоздка в том, что если одно из рег. выражений не нашло информацию, то код который ниже этого выражения уже не будет отрабатывать.
Как можно его написать, что бы он не прекращал поиск, даже если некоторые рег.выражения не нашли информацию?
//Получаем название новости
string regex = @"(?<=title="").*?(?="")";
string text = project.Variables["shortnews_donor"].Value;
var reg = new System.Text.RegularExpressions.Regex(regex, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_title"].Value = reg.Matches(text)[0].ToString();
//Получаем ссылку на полную новость
string regex2 = @"(?<=href="").*?(?="")";
var reg2 = new System.Text.RegularExpressions.Regex(regex2, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_fullstorylink"].Value = reg2.Matches(text)[0].ToString();
//Получаем ссылку на картинку короткой новости
string regex3 = @"(?<=<img\ src="").*?\.jpg";
var reg3 = new System.Text.RegularExpressions.Regex(regex3, System.Text.RegularExpressions.RegexOptions.None);
project.Variables["z_shortstoryImage"].Value = reg3.Matches(text)[0].ToString();
Это только его часть. Суть в чем, этот кубик вырывает из полученного исходного кода, нужную мне информацию с помощью рег. выражений и сохраняет в соответствующие переменные. Загвоздка в том, что если одно из рег. выражений не нашло информацию, то код который ниже этого выражения уже не будет отрабатывать.
Как можно его написать, что бы он не прекращал поиск, даже если некоторые рег.выражения не нашли информацию?