Python re 匹配 Unicode 字符
在Python中用正则表达式匹配Unicode字符时遇到问题
# -*- 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
似乎无法匹配Unicode字符!
1 个回答
5
因为这些 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",
]