0

Pythonでは、2つの文字列の間に正規表現を使用して情報を取得しようとしています。例を挙げたほうがいいと思います。

<stuff>
1
2
3
4
</stuff>

<stuff>
5
7
8
9
</stuff>

これらのコンテナ*の1つを一度にプルして、別のファイルに配置しようとしています。たとえば567 8の間でコンテンツをプルし、すべてのレコードを同時に(bashで)プルする方法を見つけましたが、変数またはファイルに配置された正規表現を含む完全なコンテナーを取得していません。私が一緒に働くことができる何か。

だから私は<stuff>と</stuff>の間で収集したいと思います

アドバイスをいただければ幸いです。私はこれのためにpython2で作業しようとしています。

4

2 に答える 2

1

HTML ページからデータを取得する単純化された図を提示しようとしている場合は、正規表現を使用しないことを強くお勧めします [SO での検索、理由]。

BeautifulSoupまたはlxmlを使用します。はるかに優れ、はるかに強力です。

于 2012-08-16T12:27:33.063 に答える
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
于 2012-08-16T12:13:06.597 に答える