помогите с регуляркой

SHTINER

Пользователь
Регистрация
20.08.2016
Сообщения
31
Благодарностей
0
Баллы
6
Имеется текст:

<img id="vidthumb1" (куча символов) Добавлено пользователем А (куча символов) <img id="vidthumb2" (куча символов) Добавлено пользователем В.

Как мне выделить нужное слово vidthumb, зная лишь что после него идет Добавлено пользователем В, и между ними не встречаются ни другие vidthumb ни другие словосочетания Добавлено пользователем.
 

SHTINER

Пользователь
Регистрация
20.08.2016
Сообщения
31
Благодарностей
0
Баллы
6
Имеется текст:

<img id="vidthumb1" (куча символов) Добавлено пользователем А (куча символов) <img id="vidthumb2" (куча символов) Добавлено пользователем В.

Как мне выделить нужное слово vidthumb, зная лишь что после него идет Добавлено пользователем В, и между ними не встречаются ни другие vidthumb ни другие словосочетания Добавлено пользователем.
С помощью регулярки смог выделить кусок между нужными vidthumb и Добавлено пользователем:

vidthumb((?!vidthumb).)*(Добавлено\ пользователем\ В)

Выдает vidthumb2" src=" (куча символов) Добавлено пользователем В
А как теперь доработать регулярку, чтобы в итоге остался только результат vidthumb2
 

Moromer

Client
Регистрация
16.10.2016
Сообщения
24
Благодарностей
0
Баллы
1
Дальше, если "куча символов" количеством всегда одинаково, можно попробовать обрезать строку на это количество символов
 

SHTINER

Пользователь
Регистрация
20.08.2016
Сообщения
31
Благодарностей
0
Баллы
6
Дальше, если "куча символов" количеством всегда одинаково, можно попробовать обрезать строку на это количество символов
Я не знаю одинаковая длина или нет. Можно закинуть результат в переменную, а затем через обработку текста с помощью другой регулярки обрезать до нужного результата. А как сделать это все с помощью одного выражения?
 

Moromer

Client
Регистрация
16.10.2016
Сообщения
24
Благодарностей
0
Баллы
1
В расш.редакторе ПКМ нажми и скопируй сюда C# версию блока. Там посмотрим, что сделать можно...
 
Последнее редактирование:

SHTINER

Пользователь
Регистрация
20.08.2016
Сообщения
31
Благодарностей
0
Баллы
6
В расш.редакторе ПКМ нажми и скопируй сюда C# версию блока. Там посмотрим, что сделать можно...
Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();
string text = tab.DomText;

var regex = new System.Text.RegularExpressions.Regex(@"vidthumb((?!vidthumb).)*(Добавлено\ пользователем\ dana\ lenjo)");
// Поиск первого совпадения
var match = regex.Match(text);
if (match.Success)
project.Variables["avtor_video"].Value = match.Value;
 

Moromer

Client
Регистрация
16.10.2016
Сообщения
24
Благодарностей
0
Баллы
1
Console.WriteLine("dfdflbdbnskfkmrkmkrmksmskdvskdvsv".Substring(20)); //уберет первые 20 символов
Console.WriteLine(input.Remove(0, 4)); //это уберет первые 4
мысль с переменной правльная. Положить в переменную и убрать лишнее с начала и/или конца
 

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