Python 返回regex对象的单个实例';内容

Python 返回regex对象的单个实例';内容,python,Python,我正在编写一个匹配函数,我想知道是否只能返回匹配的第一次出现。这是我的代码(它匹配给定行的url的所有实例,而不仅仅是第一行)。。。这是在我尝试选择单个匹配之前: def file_match(line, url): allmatches = re.search(r'<a href="(?P<url>.*?)"', line) if allmatches and allmatches.groupdict()['url'] == url: retu

我正在编写一个匹配函数,我想知道是否只能返回匹配的第一次出现。这是我的代码(它匹配给定行的url的所有实例,而不仅仅是第一行)。。。这是在我尝试选择单个匹配之前:

def file_match(line, url):
    allmatches = re.search(r'<a href="(?P<url>.*?)"', line)
    if allmatches and allmatches.groupdict()['url'] == url:
        return allmatches.groupdict()['url']
    else: 
        return None
def文件匹配(行、url):

allmatches=re.search(r'我猜你需要多读一点

特别是

希望这有帮助。

还有一个更新。
很抱歉给您添麻烦,但我认为这是我的错。当我使用line.replace()时,我没有使用正确的搜索字符串,只使用了re模块的测试,这在我想要匹配的内容方面太笼统了

以下是最终解决我问题的答案:

 line.replace('<a href="' + test_str + '">', '<a href="' + re_string + '">')
行。替换(“”,“”)

它匹配一个模式的所有实例,我希望它只匹配一个实例——我已经更新了我的问题,以包含一个尝试。请澄清“这是我的代码(有效)”是什么意思:.你是说它不起作用吗?你到底在说什么?正如你将在上面注意到的,我已经更新了我的问题。现在还不清楚什么?第一段代码执行,但结果是每行有许多匹配项(如果有多个匹配项)。第二个是试图挑出第一个匹配项,我不知道怎么做。@jml:我想我们需要更多的背景信息。调用代码看起来如何,因为此代码只返回一个匹配项。@jml:正如您所注意的,单词“which works”表明代码有效。你似乎在说它实际上并没有做你想做的事情。如果它没有做你想做的事情,那么它就没有真正的“工作”。它只是碰巧在运行时没有明显的错误。请非常非常小心地使用像“工作”这样的词当你谈论的东西没有达到你想要的效果时,它似乎不“起作用”。我尝试使用以下方法:allmatches.group(1)…但这也不起作用。它仍然会产生多个匹配。不幸的是,我甚至无法开始复制你所说的行为,对不起!:(
 line.replace('<a href="' + test_str + '">', '<a href="' + re_string + '">')