Python变量重新匹配

2024-09-30 08:22:31 发布

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

我正在尝试编写一个函数,它接受一个键(除其他外)并返回文件中该键后面的单词。下面的代码可以工作,但前提是密钥恰好是文件中的第一个短语。有人能指出我哪里出错了吗?在

def findmatch(key, split_by, tempsl, filename, temp):
    rx=r''+key+'(.*)'
    f = open(tempsl + filename, 'r', encoding='windows-1252')
    for eachline in f:
        string=re.match(rx, eachline)
        if string:
            return (string.group().split(' ')[split_by])
        else:
            return "didn't work"

Tags: 文件key函数代码stringbyreturn密钥
1条回答
网友
1楼 · 发布于 2024-09-30 08:22:31

在第一次迭代之后结束for循环是因为

if string:
    return (string.group().split(' ')[split_by])
else:
    return "didn't work"

总会打破这个循环。只有在第一行有关键字时,它才会返回一些结果。所以我建议:

^{pr2}$

试试这个:

m = re.search('(?<=' + key + ')\w+', eachline)
m.group(0)

相关问题 更多 >

    热门问题