我有以下文字:
- 第一个标题这是标题1数据
- 第二个标题:这是标题2数据
- 第三个标题,这是标题3数据
醇>
所以,我正在尝试编写一个正则表达式。我知道要在标题1和标题2之间提取数据,以下正则表达式将起作用
The first Heading(.*?)The second header
以上将给出文字"这是标题1数据"。 但是,我想要得到的是查找所有正则表达式的标题,它将返回如下列表
["This is heading 1 data","This is heading 2 data","This is heading 3 data"]
我想到的是以下
The first Heading(.*?)The second header(.*?)third header (.*?)
但是,我没有得到上述正则表达式的任何数据。任何人都可以帮助我解决方案
答案 0 :(得分:0)
这应该这样做:
import re
a = '''Heading 1 This is heading 1 data
Heading 2 This is heading 2 data
Heading 3 This is heading 3 data'''
print(re.findall('(?<=Heading \d\s)(.*)(?:Heading \d|$)?', a)))
#['This is heading 1 data', 'This is heading 2 data', 'This is heading 3 data']