我正在尝试使用正则表达式"_"+digit
查找所有出现的"^"+digit
或((_\^)[1-9])
我期望返回的组例如"X_2ZZZY^5"
将是[('_2'), ('^5')]
,但我却得到了[('_2', '_'), ('^5', '^')]
我的正则表达式不正确吗?还是我对返回的内容的期望不正确?
非常感谢
**我原来使用过(_|\^)
,这是不正确的,应该是(_\^)
-问题已作相应修改
答案 0 :(得分:2)
放置在单个捕获组中的特殊字符_
或^
后面至少需要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']
答案 1 :(得分:2)