Проблема с регулярными выражениями в python

Итак, я работаю над регулярным выражением для поиска всей информации заголовка на сайте.

Я скомпилировал регулярное выражение:

regex = re.compile(r'''
    <h[0-9]>\s?
    (<a[ ]href="[A-Za-z0-9.]*">)?\s?
    [A-Za-z0-9.,:'"=/?;\s]*\s?
    [A-Za-z0-9.,:'"=/?;\s]?
''',  re.X)

Когда я запускаю это в python reg ex. тестер, это работает чудесно.

Пример данных:

<body>
    <h1>Dog </h1>
    <h2>Cat </h2>
    <h3>Fancy </h3>
    <h1>Tall cup of lemons</h1>
    <h1><a href="dog.com">Dog thing</a></h1>
</body>

Теперь в REDemo это работает чудесно.

Когда я помещаю его в код Python, он печатает только<a href="dog.com">

Вот мой код на Python, я не уверен, что я делаю что-то не так или что-то теряется в переводе. Я ценю вашу помощь.

stories=[]
response = urllib2.urlopen('http://apricotclub.org/duh.html')
html = response.read().lower()
p = re.compile('<h[0-9]>\\s?(<a href=\"[A-Za-z0-9.]*\">)?\\s?[A-Za-z0-9.,:\'\"=/?;\\s]*\\s?[A-Za-z0-9.,:\'\"=/?;\\s]?')
stories=re.findall(p, html)
for i in stories:
    if len(i) >= 5:
        print i 

Я должен также отметить, что когда я вынимаю(<a href=\"[A-Za-z0-9.]*\">)? из регулярного выражения он отлично работает для не-ссылки<hN> линий.

Ответы на вопрос(6)

Ваш ответ на вопрос