Инвертировать регулярные выражения - PullRequest
1 голос
/ 25 сентября 2008

Как бы я инвертировал совпадения регулярных выражений .NET? Я хочу извлечь только соответствующий текст, например, Я хочу извлечь все теги IMG из файла HTML, но только теги изображений.

Ответы [ 3 ]

2 голосов
/ 25 сентября 2008

Это не имеет ничего общего с инвертированием регулярных выражений. Просто найдите соответствующий текст и поместите его в группу.

1 голос
/ 25 сентября 2008

Я с Дэвидом Х .: Инверсия подразумевает, что вы не хотите совпадений, а скорее текст, окружающий совпадения, в этом случае сработает метод Regex Split (). Вот что я имею в виду:

static void Main(string[] args)
{
    Regex re = new Regex(@"\sthe\s", RegexOptions.IgnoreCase);

    string text = "this is the text that the regex will use to process the answer";

    MatchCollection matches = re.Matches(text);
    foreach(Match m in matches)
    {
        Console.Write(m);
        Console.Write("\t");
    }

    Console.WriteLine();

    string[] split = re.Split(text);
    foreach (string s in split)
    {
        Console.Write(s);
        Console.Write("\t");
    }
}
0 голосов
/ 25 сентября 2008

Не уверен, что вы имеете в виду. Вы говорите о группах захвата ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...