Re.findall只返回Python 2.7中的第一个匹配项

时间:2017-02-22 15:58:28

标签: python regex

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

0 个答案:

没有答案