在正则表达式模式匹配后返回下一行(下一个字符串)?(Python)

在正则表达式模式匹配后返回下一行(下一个字符串)?(Python),python,regex,Python,Regex,我试图做的是在.HTML文件中匹配特定结果的标准任务。为此,我使用python并编写了以下代码: ... import re, requests res = requests.get('http://www.website.com/page.html') t = res.text g = re.search("(regex)", t) 这个很好用。但是,我的实际任务是获取字符串,该字符串位于正则表达式找到的字符串之后。它始终位于.html文档的下一行。这是从开始到结束的一整条路线,这

我试图做的是在.HTML文件中匹配特定结果的标准任务。为此,我使用python并编写了以下代码:

...

import re, requests

res = requests.get('http://www.website.com/page.html')

t = res.text

g = re.search("(regex)", t)

这个很好用。但是,我的实际任务是获取字符串,该字符串位于正则表达式找到的字符串之后。它始终位于.html文档的下一行。这是从开始到结束的一整条路线,这可能会使它更容易一点。非常不幸的是,我无法直接用正则表达式找到正确的数据


实现这一点最有效的方法是什么?

一个简单的解决方案是迭代行

当一行匹配时,返回下一行:

import re

text = """abc
def
ghi
klm
"""

pattern = re.compile('def')

def find_following_line(text):
    lines = text.splitlines()
    for i, line in enumerate(lines):
        if re.search(pattern, line):
            return lines[i+1]

print(find_following_line(text))
# ghi
如果
文本
是整个多行字符串,则可以
重新搜索(r“regex.*\r?\n(+)”,t).group(1)