期待在两个字符串之间拉出数据

时间:2012-08-16 11:44:57

标签: python

在Python中,我试图用两个字符串之间的正则表达式来提取信息。我想最好举一个例子。

<stuff>
1
2
3
4
</stuff>

<stuff>
5
7
8
9
</stuff>

我试图一次拉出其中一个容器*并将它们放在一个单独的文件中。我已经找到了如何在例如5 6 7 8之间拉取内容,并同时拉出所有记录(在bash中),但是还没有得到包含放在变量或文件中的正则表达式的完整容器,我可以使用的东西。

所以我想收集和包括&lt; stuff&gt;和&lt; /东西&GT;

任何建议都将不胜感激。我正在尝试在python2中工作。

2 个答案:

答案 0 :(得分:1)

如果您需要解析XML格式的数据,可以尝试使用xml.etree.ElementTree模块中的工具。

from xml.etree.ElementTree import XML
single_item_data = XML("<stuff>1 2 3</stuff>").text

如果您有一些嵌套元素,可以执行以下操作:

from xml.etree.ElementTree import XML

test_input_xml = '''
<lotsOfStuff>
   <stuff>
   1
   2
   3
   4
   </stuff>

   <stuff>
   5
   7
   8
   9
   </stuff>
</lotsOfStuff>
'''

test_input = XML(test_input_xml)
stuffs = test_input.findall("stuff")

for stuff in stuffs:
   element_text = stuff.text
   print element_text

答案 1 :(得分:1)

如果您试图提供一个从HTML页面中抓取数据的简化图片,那么我强烈建议不要使用正则表达式[在SO中查找,为什么]。

使用BeautifulSouplxml。更好,更强大。

相关问题