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