Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Re.findall只返回Python 2.7中的第一个匹配项_Python_Regex - Fatal编程技术网

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

Re.findall只返回Python 2.7中的第一个匹配项,python,regex,Python,Regex,当my_文件中的一个句子以一个单词后跟一个数字开头时,例如“City1”、和在my_文件中还有另一个句子以“City2”开头时,以下代码仅返回第一个句子: description = re.findall("\n"+i+"[\s\,\d\(].*\.\n", my_file) #i equals 'City' if description: for d in description: d = d.replace('\n', ' ')

my_文件
中的一个句子以一个单词后跟一个数字开头时,例如“City1”、
my_文件
中还有另一个句子以“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[:]
。这防止了每次迭代中所需的匹配堆积。循环后必须删除缓冲区列表。

(?:^ |)(?从文件中发布这些句子您能给出实际的示例文本和所需的输出吗?
(?:^|(?<=\n))City[\s\,\d\(].*\.(?=\n|$)