Куча регулярок в C#

JanCarlo

Client
Регистрация
04.03.2018
Сообщения
358
Благодарностей
40
Баллы
28
Ребят, подскажите как сделать и что не так?
Шаб заходит на страницу, и вырезает кубиками кучу разных данных
я хочу все регулярки запихать в один сишарп кубик, что бы все регулярки одновременно вырезались и по переменным разложились.
При конвертации одного кубика в шарп - получается вот такая шляпа, которая не разрешает использование макросов в коде, почему так - я хз

вот что получилось при конвертации

код кубика
Код:
// Текст для обработки
string text = project.ExecuteMacro("{-Variable.get-}");
project.Variables["Country"].Value = Macros.TextProcessing.Regex(text, @"(?<=<span\ class="name">Country:</span>\ <span\ class="text">).*?(?=</span>\ <div\ class="clearfix">)", "0")[0].FirstOrDefault();
я хочу все регулярки в один кубик определить
 

JanCarlo

Client
Регистрация
04.03.2018
Сообщения
358
Благодарностей
40
Баллы
28
Что то мне подсказывает что тут надо подключить какую то библиотеку, и убрать макрос из кода и вставить переменную, вот странно почему project.Variables["Country"].Value вставилось не как макрос?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
  • Спасибо
Реакции: JanCarlo

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
попробуйте такой вариант
Код:
// Текст для обработки
project.Variables["Country"].Value = Macros.TextProcessing.Regex(text, @"(?<=<span\ class=""name"">Country:</span>\ <span\ class=""text"">).*?(?=</span>\ <div\ class=""clearfix"">)", "0")[0].FirstOrDefault();
 
  • Спасибо
Реакции: JanCarlo

JanCarlo

Client
Регистрация
04.03.2018
Сообщения
358
Благодарностей
40
Баллы
28
Подучи лучше xPath, намного проще станет.

Потому, что так и следует в коде писать.
project.Variables["peremennaya"].Value
значит зенка конвертит как то странно, первая переменная в виде макроса...

xpath как раз лежит у меня курс на пк, прямо щас открою буду смотреть, действительно стоящая тема
 

JanCarlo

Client
Регистрация
04.03.2018
Сообщения
358
Благодарностей
40
Баллы
28
попробуйте такой вариант
Код:
// Текст для обработки
project.Variables["Country"].Value = Macros.TextProcessing.Regex(text, @"(?<=<span\ class=""name"">Country:</span>\ <span\ class=""text"">).*?(?=</span>\ <div\ class=""clearfix"">)", "0")[0].FirstOrDefault();
неа, все равно пишет нельзя макросы использовать


вот так сработало:
Код:
// Текст для обработки
string text = project.Variables["get"].Value;
project.Variables["Country"].Value = Macros.TextProcessing.Regex(text, @"(?<=<span\ class=""name"">Country:</span>\ <span\ class=""text"">).*?(?=</span>\ <div\ class=""clearfix"">)", "0")[0].FirstOrDefault();
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
значит зенка конвертит как то странно, первая переменная в виде макроса...
Вообще, метод ExecuteMacro допустим, но лучше первую строку заменить на
string text = project.Variables["get"].Value;

И еще, в тексте и коде надо избегать макросов и похожих на них подстрок.
 
  • Спасибо
Реакции: kapelan28 и JanCarlo

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
  • Спасибо
Реакции: JanCarlo

JanCarlo

Client
Регистрация
04.03.2018
Сообщения
358
Благодарностей
40
Баллы
28
тут косяк был в этой строке - project.Variables["Country"].Value = Macros.TextProcessing.Regex(text, @"(?<=<span\ class="name">Country:</span>\ <span\ class="text">).*?(?=</span>\ <div\ class="clearfix">)", "0")[0].FirstOrDefault();

почему то нужно было добавлять еще двойные кавычки, странно что зенка это не поняла
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
а почему зенка должна понимать ?
экранивание без собаки \\"
с собакой ""
 
  • Спасибо
Реакции: samsonnn и Yuriy Zymlex

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