2
有麻烦匹配与正则表达式的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字符!
没关系,Python会自动转换。 – phihag 2011-03-30 22:05:24
@pyhag:'print re.match(u“°”,“°”)'在Python 2.7中为None。 – kennytm 2011-03-30 22:09:37
哦,你是完全正确的。这种“自动转换”仅适用于双方都是ASCII的子集。 – phihag 2011-03-30 22:14:28