python正则表达式意外匹配组
我正在尝试使用正则表达式python正则表达式意外匹配组,python,regex-group,re,Python,Regex Group,Re,我正在尝试使用正则表达式((\^)[1-9])查找所有出现的“'+数字或“^”+数字 我希望回到的组,例如“X_2zzy^5”将是[(“u 2”),(“^5”)],但我得到的是[(“u 2”,““"”),(“^5”,“^')] 我的正则表达式不正确吗?还是我对返回内容的期望不正确 非常感谢 **我原来重复使用的(\u124; ^)这是不正确的,应该是(\u124; ^)——问题已经相应地修改了要求在单个捕获组中的特殊字符或^后面至少有1位数字(1-9): import re text = &q
((\^)[1-9])
查找所有出现的“'+数字
或“^”+数字
我希望回到的组,例如“X_2zzy^5”
将是[(“u 2”),(“^5”)]
,但我得到的是[(“u 2”,““"”),(“^5”,“^')]
我的正则表达式不正确吗?还是我对返回内容的期望不正确
非常感谢
**我原来重复使用的(\u124; ^)
这是不正确的,应该是(\u124; ^)
——问题已经相应地修改了要求在单个捕获组中的特殊字符
或^
后面至少有1位数字(1-9):
import re
text = "X_2ZZZY^5"
pattern = r"([_\^][1-9]{1,})"
regex = re.compile(pattern)
res = re.findall(regex, text)
print(res)
返回:
['_2', '^5']
您的正则表达式中有2个组-因此您得到了2个组。您至少需要匹配下面的1个数字 试试这个:
([_\^][1-9]+)
请在操作中查看您有两组括号,因此将得到两组。