RegetX в спипет

vikas2006

Client
Регистрация
10.05.2019
Сообщения
62
Благодарностей
1
Баллы
8
Друзья. Вопрос не новый но я чего то не понимаю.
Вот есть есть кубик регетх и там регулярка.
Код:
(?<=aria-label=")Unlike.*"(?=></span></button></span>)
Я его конвертирую в C#
Код:
string text = project.ExecuteMacro(instance.ActiveTab.DomText);
project.Variables["chek"].Value = Macros.TextProcessing.Regex(text, @"(?<=aria-label=")Unlike.*"(?=></span></button></span>)", "0")[0].FirstOrDefault();
получаю такой код но он не работает выдает ошибку
(Компиляция кода Ошибка в действии "CS1525" "Недопустимый терм ")" в выражении". [Строка: 2; Cтолбец: 131])
И так каждый раз при попытке конвертации. Я почитал тут статьи но чего то не допонимаю.
Можно ли мой пример привести в рабочий вид что бы сравнить и понять что я не так делаю. Может без макроса.
Вот я думал так.



Код:
string text = project.ExecuteMacro(instance.ActiveTab.DomText);
string text2 =  @"(?<=aria-label=")Unlike.*"(?=></span></button></span>)";
string text3 =new Regex(text2).Match(text).Value;

но так тоже не работает и я понимаю что дело в регулярке и она отличается от кубика.
Заранее спасибо.
 
Последнее редактирование модератором:

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
Внутри строки которая начинается со знака @ - то есть сырая строка, все символы двойных кавычек между первой и последней должны умножатся:
C#:
string text2 = @"(?<=aria-label="")Unlike.*""(?=></span></button></span>)";
 
Последнее редактирование:
  • Спасибо
Реакции: vikas2006

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Большая просьба, оформлять код и регулярки как Код.

upload_2019-5-31_1-58-41.png
 
  • Спасибо
Реакции: VerBin

evgen2208

Client
Регистрация
12.10.2016
Сообщения
130
Благодарностей
162
Баллы
43
string text = project.ExecuteMacro(instance.ActiveTab.DomText);
string text2 = @"(?<=aria-label=")Unlike.*"(?=></span></button></span>)";
string text3 =new Regex(text2).Match(text).Value;
Код:
string text2 = @"(?<=aria-label="")Unlike.*""(?=></span></button></span>)";
кавычки надо экранировать кавычками​
не посмотрел.. уже отвелили.
 
  • Спасибо
Реакции: vikas2006

Vass

Client
Регистрация
03.02.2014
Сообщения
79
Благодарностей
10
Баллы
8
А почему такое нельзя сделать на автомате?
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
А почему такое нельзя сделать на автомате?
Для чего это делать? Менять синтаксис языка?
Если использовать кубик, все и так работает, если использовать c#, то и работать нужно по его правилам.
 

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