从文本文件中选择特定的段落

时间:2018-12-05 04:51:48

标签: python

示例文字:

dest

我在正则表达式下进行了尝试,但是它仅在匹配后才提供。

StartString fcchwd
dheoidfjewofd
edeodei
eddeed
dd djded dojef efjefj
fefije efoef;

 StartString wdjkndd
dwojdpjf wodjojd wdjwjdm
wodjow
wdjwdjm ojdowj ww
wdeswjd wdojwod;

#jfejf
/** hfhih **/

dijhfs
wdjw


StartString wkpwkd 
dokowdk djd 
owjidwo;

如何存储从r"StartString\s*(.*)\s*" 开始到StartString结尾的所有集合。后来我想从这些集合中删除换行符 可以使用简单的;命令来完成,但是不确定如何找出该集合。请提出建议。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下有效的模式:

import re 

str1 = "StartString fcchwd dheoidfjewofd edeodei eddeed dd djded dojef efjefj fefije efoef;  StartString wdjkndd dwojdpjf wodjojd wdjwjdm wodjow wdjwdjm ojdowj ww wdeswjd wdojwod;  #jfejf  /** hfhih **/ dijhfs wdjw  StartString wkpwkd  dokowdk djd owjidwo;"


regex = re.compile(r'(StartString.+?;)')
l = regex.findall(str1)
print(l)

输出:

C:\Users\Desktop>py x.py
['StartString fcchwd dheoidfjewofd edeodei eddeed dd djded dojef efjefj fefije efoef;', 'StartString wdjkndd dwojdpjf wodjojd wdjwjdm wodjow wdjwdjm ojdowj ww wdeswjd wdojwod;', 'StartString wkpwkd  dokowdk djd owjidwo;']