Python regex:在字符串匹配后获取下一行

2024-10-01 11:35:58 发布

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

我一直在这个论坛寻找我的问题,但找不到合适的解决方案,所以张贴查询。在

我使用urllib和re模块提取网页的某些部分。感兴趣的是与这些部分相关的状态。在

例如,查看网页来源:

MY-TEXT #1410 finished subtask PREPARE-WORKSPACE #340418: https://cloud6.foo.bar.com/b/job/PREPARE-WORKSPACE/340418

'>SUCCESS

我正在使用重新编译以及关于芬德尔要提取此模式“https://cloud6.foo”后面的文本;这与所有文本匹配,并且使用此列表,我已经确认了这一点;但由于它位于“https://”行之后的行中,因此会丢失此特定任务的状态。在

如何在当前场景中提取匹配字符串后的一行?在

代码段在这里:

from urllib import urlopen
import re

webpage = urlopen(urllink).read()
buildPhases = re.compile(r'\<a href=\W{1}https\W{3}(.*)')
phaseLists = re.findall(buildPhases, webpage)
for item in phaseLists:
    print item

Tags: https文本importre网页foo状态urllib
1条回答
网友
1楼 · 发布于 2024-10-01 11:35:58

要在匹配字符串后提取一行,您需要在regex中添加.*\n
例如,如果我们取:

MY-TEXT #1410 finished subtask PREPARE-WORKSPACE #340418: https://cloud6.foo.bar.com/b/job/PREPARE-WORKSPACE/340418

'>SUCCESS

并应用此模式r'https.*\n.*\n.*'结果应该是上面的字符串,没有:

MY-TEXT #1410 finished subtask PREPARE-WORKSPACE #340418:

相关问题 更多 >