关于芬德尔只返回Python2.7中的第一个匹配项

2024-04-26 18:09:41 发布

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

my_file中的一个句子以一个单词开头,后跟一个数字,例如“City1”、,在my_file中有另一个以“City2”开头的句子,则以下代码只返回第一个句子:

description = re.findall("\n"+i+"[\s\,\d\(].*\.\n", my_file) #i equals 'City'
if description:
        for d in description:
            d = d.replace('\n', ' ')
            bufferlist.append(d)
            bufferlist[:] = unique( bufferlist ) #unique is a function removing duplicates from a list while keeping its order
            my_string = ' '.join(bufferlist)
            del bufferlist[:]
else:
        my_string = '0'

为什么我不能同时得到my_string中的第一句和第二句?在

编辑 问题是del bufferlist[:]。这就避免了每次迭代中所需的匹配项堆积。循环之后必须删除bufferlist。在


Tags: 代码restringmy数字description单词句子