你的python正则表达式缺少行首标识符^和行尾标识符$,这样.*?才能知道匹配到什么位置为止,所以加上^和$才能让.*?匹配出687471686,完整的Python3程序如下
#!/usr/bin/python3
import re
a = '//mm.taobao.com/self/model_card.htm?user_id=687471686'
ids = re.compile('^.*?\?user_id=(.*?)$').findall(a)
print (ids)
运行结果
['687471686']