Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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
Python 如何使用正则表达式匹配文本中的连续字符串?_Python_Regex - Fatal编程技术网

Python 如何使用正则表达式匹配文本中的连续字符串?

Python 如何使用正则表达式匹配文本中的连续字符串?,python,regex,Python,Regex,我使用python的re模块匹配文本中的顺序字符串,例如: s='habcj',我尝试以下代码: import re re.findall(r'(abc)+', s) 结果是:[abc] 如果我希望匹配结果为[abcabc],我如何才能做到这一点?使用非捕获组: 使用非捕获组: 您还没有问过,但是您之所以得到abc,是因为re.findall在正则表达式中出现时的行为不同。如果没有它们,将返回所有完整匹配的列表。如果有多个元组,则只有捕获组的内容将作为元组列表返回。重复捕获组每次重复都会覆盖其

我使用python的re模块匹配文本中的顺序字符串,例如: s='habcj',我尝试以下代码:

import re
re.findall(r'(abc)+', s)
结果是:[abc]

如果我希望匹配结果为[abcabc],我如何才能做到这一点?

使用非捕获组:

使用非捕获组:


您还没有问过,但是您之所以得到abc,是因为re.findall在正则表达式中出现时的行为不同。如果没有它们,将返回所有完整匹配的列表。如果有多个元组,则只有捕获组的内容将作为元组列表返回。重复捕获组每次重复都会覆盖其内容。您还没有询问,但您之所以得到abc,是因为re.findall在正则表达式中出现时的行为不同。如果没有它们,将返回所有完整匹配的列表。如果有多个元组,则只有捕获组的内容将作为元组列表返回。一个重复的捕获组每次重复都会覆盖它的内容。
>>> import re
>>> s = 'habcabcabcj'
>>> re.findall(r'(?:abc)+', s)
['abcabcabc']
>>>