2
# -*- 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
Pythonで正規表現のUnicode文字に一致する結果持つ:
15°47'S 47°55'W
21º 18' N, 157º 51' W
32°46′58″N 96°48′14″W
は、Unicodeの文字に一致するように見えることはできませんが!
これは問題ではありませんが、Pythonは自動的に変換します。 – phihag
@phihag: 'print re.match(u"° "、"° ")'はPython 2.7ではNoneです。 – kennytm
ああ、あなたはまったく正しい。この「自動変換」は、両側がASCIIのサブセットである場合にのみ機能します。 – phihag