我想用这个正则表达式找出一个数字开头 中间是a 再以一个数字结尾的字符串
代码如下:
pattern = re.compile(r'([0-9])a\1')
print(pattern.findall(" 0a0 1a1 2a3 2a2 2aa2"))
['0', '1', '2']
只找出了以相同数字开头结尾,中间是a的字符串对应的那个数字
预期结果是
['0a0', '1a1', '2a3', '2a2']
请问这是哪里出了问题
初学python,恳请各位帮助
题中正则用分组匹配数字,并通过编号复用分组,因此结果只匹配到数字。可以这样写:
import re
r=re.findall('\d+a\d+','0a0 1a1 2a3 2a2 2aa2')
print(r)
[0-9]a[0-9]