使用正则表达式提取数据?

时间:2019-06-06 04:35:47

标签: python-3.x

我正在使用正则表达式编写代码以提取文档中的参数,而我正在使用python。数据包含很多相似的单词,但是当它遇到第一个重复出现的单词时,我需要提取该段落。

例如:data.txt

extract data 
useful data is extracted

extract numbers
useful numbers are extracted

extract variable 
useful variables are extracted

问题是,我只需要提取以下内容:

"extract numbers
useful numbers are extracted"

1 个答案:

答案 0 :(得分:0)

您可以使用re.findall和模式(“ ([a-zA-Z].* *\n.[a-zA-Z .,']*)”)查找所有段落。另外,它也可以用于诗歌。 我们将您的数据保存在poem变量中:

poem = """extract data 
useful data is extracted

extract numbers
useful numbers are extracted

extract variable 
useful variables are extracted"""

现在,我们找到所有段落并将其存储在par变量中:

import re
par = re.findall("([a-zA-Z].* *\n.[a-zA-Z .,']*)",poem)

现在,par具有三个元素,您可以通过par[0]par[1]par[2]选择它们。 par[0]是:

'extract data \nuseful data is extracted'

par[1]是:

'extract numbers\nuseful numbers are extracted'

par[2]是:

'extract variable \nuseful variables are extracted'