none
Составить регулярное выражение RRS feed

  • Вопрос

  • Помогите пожалуйста, всегда с этим проблемы были, так и не могу понять, как же надо сделать.

    Дан вот такой текст:

     

    <tr>
     <th>Фамилия</th>
     <th>Имя</th>
     <th>Отчество</th>
     <th>телефон</th>
     <th>Возраст (д.р.)</th>
     <th>улица</th>
     <th>дом</th>
     <th>корп.</th>
     <th></th>
     <th></th>
    </tr>
    
    <tr class="even">
    <td>Антонов</td>
    <td>А</td>
    <td>А</td>
    <td>4512121</td>
    <td>22 года</td>
    <td>Кошкина ул.</td>
    <td>87</td>
    <td>3</td>
    <td></td>
    <td><a href="/people/fRlXq-ramenskov-artem-anatolevich">Детально</a></td>
    </tr>
    
    <tr class="odd">
    <td>Алёхина</td>
    <td>А</td>
    <td>Н</td>
    <td>4657785</td>
    <td>22 года</td>
    <td>Измайловский бульв.</td>
    <td>447</td>
    <td></td>
    <td></td>
    <td><a href="/people/fcsri-eliseev-artem-nikolaevich">Детально</a></td>
    </tr>
    
    <tr class="even">
    <td>Котова</td>
    <td>А</td>
    <td>И</td>
    <td>3524855</td>
    <td>22 года</td>
    <td>Каргопольская ул.</td>
    <td>6</td>
    <td></td>
    <td></td>
    <td><a href="/people/fxC4a-golik-artem-igorevich">Детально</a></td>
    </tr>
    
    <tr class="odd">
    <td>Прибытко</td>
    <td>А</td>
    <td>С</td>
    <td>3534244</td>
    <td>22 года</td>
    <td>Новосибирская ул.</td>
    <td>7</td>
    <td>1</td>
    <td></td>
    <td><a href="/people/fTulf-kryisov-artem-sergeevich">Детально</a></td>
    </tr>
    

     

    Из него надо вырезать только номера и фамилии - допустим в последней строке таблицы - "3534244" и "Прибытко". Если это важно (я так понимаю, что нет) - пишу на С#.

    Большое спасибо заранее +)


    C#, VS2010Pro, .NET PHP, DreamWeaver



    • Перемещено Abolmasov Dmitry 29 марта 2011 г. 12:11 (От:Разное)
    23 марта 2011 г. 11:08

Ответы

  • Здравствуйте. Вот пример:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    
    namespace ConsoleApplication23
    {
      class Program
      {
        static void Main(string[] args)
        {
          string html = @"<tr>
     <th>Фамилия</th>
     <th>Имя</th>
     <th>Отчество</th>
     <th>телефон</th>
     <th>Возраст (д.р.)</th>
     <th>улица</th>
     <th>дом</th>
     <th>корп.</th>
     <th></th>
     <th></th>
    </tr>
    
    <tr class=""even"">
    <td>Антонов</td>
    <td>А</td>
    <td>А</td>
    <td>4512121</td>
    <td>22 года</td>
    <td>Кошкина ул.</td>
    <td>87</td>
    <td>3</td>
    <td></td>
    <td><a href=""/people/fRlXq-ramenskov-artem-anatolevich"">Детально</a></td>
    </tr>
    
    <tr class=""odd"">
    <td>Алёхина</td>
    <td>А</td>
    <td>Н</td>
    <td>4657785</td>
    <td>22 года</td>
    <td>Измайловский бульв.</td>
    <td>447</td>
    <td></td>
    <td></td>
    <td><a href=""/people/fcsri-eliseev-artem-nikolaevich"">Детально</a></td>
    </tr>
    
    <tr class=""even"">
    <td>Котова</td>
    <td>А</td>
    <td>И</td>
    <td>3524855</td>
    <td>22 года</td>
    <td>Каргопольская ул.</td>
    <td>6</td>
    <td></td>
    <td></td>
    <td><a href=""/people/fxC4a-golik-artem-igorevich"">Детально</a></td>
    </tr>
    
    <tr class=""odd"">
    <td>Прибытко</td>
    <td>А</td>
    <td>С</td>
    <td>3534244</td>
    <td>22 года</td>
    <td>Новосибирская ул.</td>
    <td>7</td>
    <td>1</td>
    <td></td>
    <td><a href=""/people/fTulf-kryisov-artem-sergeevich"">Детально</a></td>
    </tr>
    ";
          MatchCollection mc = Regex.Matches(html, @"<tr.+?<td>(?<name>.+?)</td>.*?<td>.*?</td>.*?<td>.*?</td>.*?<td>(?<number>.+?)</td>", RegexOptions.Singleline);
          foreach (Match m in mc)
          {
            Console.WriteLine(m.Groups["name"].Value + " || " + m.Groups["number"].Value);
          }
        }
      }
    }
    
    

     


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 29 марта 2011 г. 12:11
    24 марта 2011 г. 9:07