提前谢谢你的帮助。我使用Python正则表达式从具有以下布局的文本中提取部分:
(A lot of information)
time: 150
C-FXY
-- information ---
E-END
(A lot of information)
time: 5000
C-FXY
**--- INFORMATION I WANT TO EXTRACT ---**
E-END
(A lot of information)
time: 13000
C-FXY
-- information ---
E-END
(A lot of information)
我需要从对应于5000的时间点提取C-FXY和E-END之间的所有内容。为此,我使用以下python3.6语句:
^{pr2}$不幸的是,我得到的输出是C-FXY和E-END之间的相同版本,但是从文本的13000个时间点来看,不是我想要的时间:5000。在
任何帮助都将不胜感激。:)
导致错误的原因是您的regex在
time
部分和C-FXY
之间包含一个贪婪的.*
。所以它吃掉了最后一组的所有东西。在在这里使用非贪婪版本就足够了:
无论如何,我不会在这里使用对整个文件的多行搜索,但我只会逐行读取文件,直到}一个,从那里存储任何内容到
time: 5000
,然后再到{C-END
一个,并在那里结束处理。在可以使用以下代码解决它:
现在,如果打印
^{pr2}$results
:输出将是:
相关问题 更多 >
编程相关推荐