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

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

SHTINER

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

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

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

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

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

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

Выдает vidthumb2" src=" (куча символов) Добавлено пользователем В
А как теперь доработать регулярку, чтобы в итоге остался только результат vidthumb2
 
Дальше, если "куча символов" количеством всегда одинаково, можно попробовать обрезать строку на это количество символов
 
Дальше, если "куча символов" количеством всегда одинаково, можно попробовать обрезать строку на это количество символов
Я не знаю одинаковая длина или нет. Можно закинуть результат в переменную, а затем через обработку текста с помощью другой регулярки обрезать до нужного результата. А как сделать это все с помощью одного выражения?
 
В расш.редакторе ПКМ нажми и скопируй сюда C# версию блока. Там посмотрим, что сделать можно...
 
Последнее редактирование:
В расш.редакторе ПКМ нажми и скопируй сюда 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;
 
Console.WriteLine("dfdflbdbnskfkmrkmkrmksmskdvskdvsv".Substring(20)); //уберет первые 20 символов
Console.WriteLine(input.Remove(0, 4)); //это уберет первые 4
мысль с переменной правльная. Положить в переменную и убрать лишнее с начала и/или конца
 

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