Ошибка в регулярке в C#, помогите понять что не так?

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Нужно получить значения обработав их регуляркой. В редакторе всё работает, в коде выдаёт ошибку
Код:
Tab tab = instance.GetTabByAddress("popup");
if (tab.IsBusy) tab.WaitDownloading();
string text = tab.DomText;

var regex = new System.Text.RegularExpressions.Regex(@"(?<=<button\ title=")Unmute|Mute.*?");
// Поиск первого совпадения
var match = regex.Match(text);
if (match.Success)
    project.Variables["Mute_UnMute"].Value = match.Value;
Всё перепробовал, ставлю экранирование, ничего не помогает. Как понять что не так, не знаю?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113
Код:
Tab tab = instance.GetTabByAddress("popup");
if (tab.IsBusy) tab.WaitDownloading();
string text = tab.DomText;
var regex = new System.Text.RegularExpressions.Regex(@"(?<=<button\ title="")Unmute|Mute.*?");
// Поиск первого совпадения
var match = regex.Match(text);
if (match.Success)
    project.Variables["Mute_UnMute"].Value = match.Value;
попробуй так. поправил то, что бросилось в глаза
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Заработало, спасибо!

Что вижу:
title="")Unmute|Mute.*?");

Сюда добавилась кавычка? Это что, регулярка кривая была?
Но как понять откуда она взялась? Почему ты её добавил?
 
Последнее редактирование:

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 306
Баллы
113
Заработало, спасибо!

Что вижу:
title="")Unmute|Mute.*?");

Сюда добавилась кавычка? Это что, регулярка кривая была?
Но как понять откуда она взялась? Почему ты её добавил?
Даже когда присутствует @ перед строкой, ковычки надо экранировать.
 
  • Спасибо
Реакции: afk и Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Даже когда присутствует @ перед строкой, ковычки надо экранировать.
Получается, кавычки были экранированы кавычкой? Я знал, что экранируется вот так
\" — двойная кавычка, используется для объявления строковых литералов
Чтобы учитывать это, надо понять
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 306
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: afk и Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Теперь стало понятней, спасибо
 

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