簡體   English   中英

Python正則表達式:字符串匹配后獲取下一行

[英]Python regex : Fetch next line after string match

我一直在這個論壇中搜索我的問題的匹配結果,但是找不到合適的解決方案,因此發布了查詢。

我正在使用urllib和re模塊來提取網頁的某些部分。 有趣的是與這些部分相關的狀態。

例如,查看網頁的來源:

MY-TEXT#1410完成子任務PREPARE-WORKSPACE#340418:https://cloud6.foo.bar.com/b/job/PREPARE-WORKSPACE/340418

'>成功

我正在使用re.compile和re.findall提取在此模式“ 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

要在匹配字符串之后提取一行,您需要在正則表達式中添加.*\\n
例如,如果我們采取:

MY-TEXT#1410完成子任務PREPARE-WORKSPACE#340418: https ://cloud6.foo.bar.com/b/job/PREPARE-WORKSPACE/340418

'>成功

並應用此模式r'https.*\\n.*\\n.*' ,結果應為上述字符串,而不包含:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM