Найти - Пользователи
Полная версия: Помогите с регуляркой
Начало » Python для новичков » Помогите с регуляркой
1
bs0d
                <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()
первый матч, первый тюпл (выбираю имя), убираем пробелы, строку с большой буквы

Прошу помочь с регуляркой, или другими вариантами решения вопроса
py.user.next
>>> 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')]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB