正则表达式.findall()没有返回所有匹配项吗?

2024-04-18 22:23:25 发布

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

我有以下字符串:

This$#is% Matrix#  %!

我试图抓住字母数字字符之间出现特殊符号/空格的子字符串。例如,我的目标是找到这两组子字符串:This$#is(特殊符号#,$,介于'This'和'is'之间)和is% Matrix(特殊符号%和'is'和'Matrix'之间的空格)。你知道吗

我的正则表达式findall如下:

match = re.findall(r'([\w]{1,})([\s\W]{1,})([\w]{1,})', temp)

它返回给我:[('This', '$#', 'is')],但不是第二部分('is% Matrix')。我做错什么了吗?你知道吗

如果我将字符串改为'is%Matrix'并应用相同的regex模式,我会得到:[('is', '% ', 'Matrix')]。你知道吗


Tags: 字符串re目标ismatch字母数字this