如何在Python中从有效的html标签中选择数据?

问题描述 投票:0回答:1

我在文本文件中有以下文本数据。文本有一些类似 HTML 的标签,但不统一,正如您在示例中看到的,有多个标签,只有一对有效标签,我想提取有效标签之间的文本。

text = '''
some text here <document> additional text here <document> The universe really seems to be expanding fast. Too fast, even. A new measurement confirms what previous—and highly debated—results had shown: The universe is expanding faster than predicted by theoretical models, and faster than can be explained by our current understanding of physics.</document> 
'''

我尝试使用正则表达式来查看是否可以从有效的文档标签集中提取文本,但是当我打印出来时,我得到了文件的全部内容。

有什么想法吗?

import re

with open('data.txt', 'r') as f:
    text = f.read()

input = re.findall(r"<document>.*?</document>", text, re.DOTALL)

for i in input :
   print(i)

python regex
1个回答
0
投票

您需要在正则表达式中使用捕获组才能获取标签之间的内容。

在下面的代码中,捕获组

(.*?)
将执行您想要的操作。

import re

with open('data.txt', 'r') as f:
    text = f.read()

input = re.findall(r"<document>(.*?)</document>", text, re.DOTALL)

for i in input :
   print(i)
© www.soinside.com 2019 - 2024. All rights reserved.