Найти - Пользователи
Полная версия: Регулярные выражения и кодировка
Начало » Python для новичков » Регулярные выражения и кодировка
1
Cover Story
Всем доброго!
Пытаюсь разобраться с регулярными выражениями.
Пишу код:
# -*- coding: utf-8 -*-
import re
pattern = ur'href="(.*?)">(.*?)</a>'
number_re = re.compile(pattern)
hhh = u'<a href="www.ya.ru">яндекс</a>'
s = number_re.findall(hhh)
print unicode(s)
Результат:
[(u'www.ya.ru', u'\u044f\u043d\u0434\u0435\u043a\u0441')]
Как побороть проблему с кодировкой?

И второй вопрос: Как сделать более универсальную регулярку чтобыможно было задавать любые урлы например как этот:
<a href="www.ya.ru onClick=win(400,350) target=window">яндекс</a>
Ferroman
1. Выводите строку, а не list и проблемы с кодировкой не будет.
2. Брать то что идёт после <a href=" и до первого пробела, ну и от > до <
Cover Story
Не могли бы Вы подсказать как вывести строку в данном случае?
Я просто не понимаю.
Ferroman
print s[0][1]
.....
pattern = ur'href="(.*?)[\ "].*?>(.*?)</a>'
Cover Story
У меня получилось побороть проблему с кодировкой таким способом:
# -*- coding: utf-8 -*-
import re
pattern = ur'href="(.*?)[\ "].*?>(.*?)</a>'
number_re = re.compile(pattern)
hhh = '<a href="www.ya.ru">яндекс</a>'
s = number_re.findall(hhh)
for k in s:
for kk in k:
print kk.decode('utf-8')
А есть что попроще?
Александр Кошелев
Cover Story
У меня получилось побороть проблему с кодировкой таким способом:
А была какая-то проблема?
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