求助,一个诡异的正则表达式查找问题

2010-11-19 17:08:52 +08:00
 muxi
def get_city_list(self, site):
city = re.findall(site['city_tag'], self.root, re.S)
if not city:
return false
else:
return city

这个怎么都匹配不到内容
=========================================


def get_city_list(self, site):
a = '<division>(.*?)</division>'
city = re.findall(a, self.root, re.S)

我把上面site['city_tag']内容拿出来,赋值给a

就能匹配到了

====================


说明:site['city_tag'] 是从数据库中取出来的,数据库编码为UTF8
site['city_tag']的内容就是下面定义a的内容


这是为什么呢?编码问题?
type(site['city_tag'])显示是unicode
type(self.root) 也显示的是unicode

为啥就不能匹配到呢?这是为什么呢?
折腾了快一下午了,实在想不明白,请各位高手帮助
4511 次点击
所在节点    Python
1 条回复
keakon
2010-11-19 17:24:02 +08:00
用logging把site['city_tag']和self.root记录下来,或者直接debug

然后手动运行一遍

代码本身没错,我想应该是数据的问题

话说为什么存储要用XML格式,使用起来非常麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/4752

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX