Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 20, 2014 02:22:00

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

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

                <td width="5%" height="42">&nbsp;</td>
                <td width="95%" valign="top">Gentleman's ID: <a href="javascript:Show2('G123456');" class="nor">
                  G123456                  </a> &nbsp;(
                  robert                  catleyday                  )<br>
                  Lady's Profile ID: <a href="javascript:ShowWin2('woman/women_preview_profile.php?womanid=M123456','window','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,width=780,height=500,top=10,left=7')" class="nor">
                    M123456                    </a> &nbsp;(
                  Анастасия                   -
                  Any                  Briggs                  )</td>
              </tr>
              <tr>
Имеется такой html (привожу отрезок, иное не важно)
Необходимо выдрать имя и фамилию (robert catleyday), далее использоваться будет только имя

Мне удалось реализовать через вот такой костыль:
g = re.findall(r'(\s\w+\s)\s+(\s\w+\s)', html)[0][0].strip().capitalize()
первый матч, первый тюпл (выбираю имя), убираем пробелы, строку с большой буквы

Прошу помочь с регуляркой, или другими вариантами решения вопроса

Офлайн

#2 Сен. 20, 2014 04:30:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

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

>>> import re
>>> 
>>> s = """
...                 <td width="5%" height="42">&nbsp;</td>
...                 <td width="95%" valign="top">Gentleman's ID: <a href="javascript:Show2('G123456');" class="nor">
...                   G123456                  </a> &nbsp;(
...                   robert                  catleyday                  )<br>
...                   Lady's Profile ID: <a href="javascript:ShowWin2('woman/women_preview_profile.php?womanid=M123456','window','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,width=780,height=500,top=10,left=7')" class="nor">
...                     M123456                    </a> &nbsp;(
...                   Анастасия                   -
...                   Any                  Briggs                  )</td>
...               </tr>
...               <tr>
... """
>>> 
>>> pat = r'&nbsp;\(\s+(\S+)\s+(\S+)\s+\)'
>>> 
>>> lst = re.findall(pat, s)
>>> lst
[('robert', 'catleyday')]
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version