带“or”条件的Python正则表达式

2024-04-25 10:01:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个文件中提取一些部分。原文如下:

part1
i like it
part2
no, i do not need it
part3
yes, 10 minutes;

但是,有些文件包含part3,有些不包含;现在我的任务是使用python从part1提取到part3(如果存在的话)。我得到的是:

^{pr2}$

但是,我总是得到一个混合体,例如,第1部分的结果是文件中的每个部分。有什么想法吗?在


Tags: 文件nonotitneeddolikeyes
2条回答

为什么不^{}part处的字符串?在

>>> re.split("part[123]", str)
['', '\ni like it\n', '\nno, i do not need it\n', '\nyes, 10 minutes;']

>>> [ part for part in re.split("part[123]", str) if part ]
['\ni like it\n', '\nno, i do not need it\n', '\nyes, 10 minutes;']

我会使用findall

In [27]: pattern = re.compile('part[1-3]\n(.*)')
In [28]: pattern.findall(s)
Out[28]: ['i like it', 'no, i do not need it', 'yes, 10 minutes;']

相关问题 更多 >