python повторяет юникод - PullRequest
       6

python повторяет юникод

2 голосов
/ 31 марта 2011

Проблемы с сопоставлением символов юникода с регулярным выражением в python

# -*- coding: utf8 -*-

import re

locations = [
    "15°47'S 47°55'W",
    "21º 18' N, 157º 51' W",
    "32°46′58″N 96°48′14″W",
]

rx = re.compile(ur"""
    ^\d+[°º]
    |
    ^\d+[\xb0\xba]
    """, re.X)

for loc in locations:
    if not rx.match(loc):
        print loc

Результат:

15°47'S 47°55'W
21º 18' N, 157º 51' W
32°46′58″N 96°48′14″W

Не похоже, чтобы он совпадал с символами Юникода!

1 Ответ

5 голосов
/ 31 марта 2011

Поскольку locations не являются строками Unicode.

locations = [
    u"15°47'S 47°55'W",
    u"21º 18' N, 157º 51' W",
    u"32°46′58″N 96°48′14″W",
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...