RegetX в спипет

  • Автор темы Автор темы vikas2006
  • Дата начала Дата начала

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;


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

upload_2019-5-31_1-58-41.png
 
  • Оценить
Реакции: VerBin
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
А почему такое нельзя сделать на автомате?
 
А почему такое нельзя сделать на автомате?
Для чего это делать? Менять синтаксис языка?
Если использовать кубик, все и так работает, если использовать c#, то и работать нужно по его правилам.
 

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