Найти - Пользователи
Полная версия: Кириллица Юникод Регулярные выражения
Начало » Python для новичков » Кириллица Юникод Регулярные выражения
1
alexlp
Пытаюсь распарсить адреса
    if re.findall(r'^([A-Za-zА-Яа-яёЁ]+\s+[A-Za-zА-Яа-я0-9]+[,-]?[A-Za-zА-Яа-я0-9]+)$', string):
return 'good\t\t' + string
else:
return '\t\t' + string
                Гудыменка 15,275
good Ладожская 19,24
good Ладожская 19,24
Дудыкина 24а,50
Лермонотова 18,132
Лермонотова 18,132
good Веснина 1а,12
Узбекистанская 1а,108
Узбекистанская 1а,108
Узбекистанская 1а,108
Воронежская 1,242
Воронежская 1,242
Воронежская 1,242
Если дело в юникоде и re не понимает его, то почему некоторые строки всё-таки проходят?
o7412369815963
у тя там скорее не уникод.

вот с уникодом:
# coding: utf-8

import re
d = [u'Гудыменка 15,275',u'Ладожская 19,24',u'Дудыкина 24а,50',u'Лермонотова 18,132',u'Узбекистанская 1а,108']
for s in d:
print '*'.join( re.findall(ur'(\w+)\s([\d\w]+)[,-]?(\d+)', s, re.U)[0] )
результат:
Гудыменка*15*275
Ладожская*19*24
Дудыкина*24а*50
Лермонотова*18*132
Узбекистанская*1а*108
alexlp
Ну тогда ничего не должно показывать или нет?

type(string) показывает str

спасибо за совет
o7412369815963
alexlp
Ну тогда ничего не должно показывать или нет?

type(string) показывает str

спасибо за совет
str - это грубо говоря “массив байтов”, не уникод.

глянь эту заметку для лучшего понимания.
qman
Спасибо за тему с ответами! (ключевой момент использование “re.U”)
aon24
Уже несколько лет не пользуюсь строкой:
# -*- coding: utf-8 -*-

Где-то прочитал, что в 3.х ее можно не писать (по умолчанию utf-8).
Комментарии я пишу на русском, все работает и вдруг Хрясь, облом и непонимание русских букв в utf-8.
Кто хочет проверить, сохраните нижеприведенные строки в кодировке utf-8 в файле test.py
Не верьте всему, что пишут.
Всегда ставьте # -*- coding: utf-8 -*-

print(“”“
Хочу выразить большую благодарность за обучение! Полученная информация оказалась доступной, понятной, полезной и очень интересной, она обязательно пригодится в моей практике! Это первый мой опыт дистанционного обучения и я очень довольна! Желаю вам успехов и дальнейшего процветания!
”“”)
py.user.next
aon24
Где-то прочитал, что в 3.х ее можно не писать (по умолчанию utf-8).
Во втором питоне надо было её ставить, потому что там по умолчанию используется us-ascii. Так что ты, скорее всего, запустил этот код во втором питоне. В винде такое бывает, если несколько питонов стоит.
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