我需要一个正则表达式来将tidbits从以下数据结构中拉出来。此数据位于javascript变量中。我正在使用BeautifulSoup和Mechanize来发出请求并解析页面但是我没有看到如何在没有正则表达式的情况下获得我需要的东西。更多细节如下。
原始数据:
var d = [[909.0546875,842.3125,32429,'TownID: 32429','GREY','circle_grey.png',970,'goldpimp\'s city','','N/A'],[1434.8890625,1365.41484375,32143,'TownID: 32143','GREY','circle_grey.png',899,'1..','','N/A'],[1553.92265625,1117.43046875,32326,'TownID: 32326','GREY','circle_grey.png',522,'Avacyns Pantheon','','N/A'],[1305.17265625,1328.6421875,28927,'TownID: 28927','GREY','circle_grey.png',3554,'Furiocity','','N/A'],...(cont.)
例如,在第一行,我需要提取TownID: 32429
,970
和goldpimp\'s city
我需要为整个数据结构执行此操作以获取每个townID和相关信息。对不起新手问题,但正则表达式确实让我的大脑震惊。
答案 0 :(得分:2)
d
是一个列表,您可以通过索引访问列表。那么,为什么正则表达式呢?你不需要它。
为了得到你的结果:
for city in d:
print "%s %s %s" % (city[3], city[6], city[7])
print
语句在控制台中打印文本。每个%s
将使用右侧组中的字符串替换(按顺序)(第一个%s
将替换为city[3]
,第二个city[6]
替换,第三个{{1} }})。
修改的
好的,如果city[7]
来自Javascript源,则需要使用d
转换为Python数据,将其结果存储在变量中并使用eariler方法进行访问(请参阅有关Python的json.loads
模块here用于2.7和here用于3.3)。