Конвертирование в C#

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 871
Благодарностей
1 117
Баллы
113
Ребят подскажите как правильно регуляркой в C# воспользоваться.

Допустим из дома беру регуляркой

(?<=<img\ src="//).*(?=\?r'\+)

все нормально. Окей зено заюзаю конвертация в C#

C#:
Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();
string text = tab.DomText;

var regex = new System.Text.RegularExpressions.Regex(@"(?<=<img\ src="//).*(?=\?r'\+)");
// Поиск первого совпадения
var match = regex.Match(text);
if (match.Success)
    project.Variables["11111"].Value = match.Value;
Выпадаем с ошибкой " Компиляция кода Ошибка в действии "CS1026" "ожидалась )". [Строка: 4; Cтолбец: 71] "
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 871
Благодарностей
1 117
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 871
Благодарностей
1 117
Баллы
113
Скорее нет, просто строка передаётся как есть и это надо учитывать
Может быть её стоит как-то дополнительно проверять, нужно ли экранировать или нет? такое реально реализовать?
 

Yuriy Zymlex

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

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Может быть её стоит как-то дополнительно проверять, нужно ли экранировать или нет? такое реально реализовать?
Нет, её просто нужно правильно использовать. Экранирование вот здесь нужно. Поставишь вторую двойную кавычку и всё будет работать. (должно).
Тебе и на форуме подсказывает и в самом кубике подсказывает - твой код закомментирован тупо после двойных слешей. Вот и всё).

Здесь даже само обязательство экранировать кавычки ничего по сути не решает))

C#:
var regex = new System.Text.RegularExpressions.Regex(@"(?<=<img\ src=""//).*(?=\?r'\+)");
46816

2019-12-17_18-53-51.png
 
  • Спасибо
Реакции: Valandersi

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 871
Благодарностей
1 117
Баллы
113
Нет, её просто нужно правильно использовать. Экранирование вот здесь нужно. Поставишь вторую двойную кавычку и всё будет работать. (должно).
Тебе и на форуме подсказывает и в самом кубике подсказывает.
C#:
var regex = new System.Text.RegularExpressions.Regex(@"(?<=<img\ src=""//).*(?=\?r'\+)");
Посмотреть вложение 46816
Да я вчера ещё нашел, просто не решил воспользоваться конвертом из кубика в c#)
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43

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