s1 = re.findall(r'(([0,1]?\d?\d|2[0-4]\d|25[0-5]).){3}([0,1]?\d?\d|2[0-4]\d|25[0-5])','204.192.168.1')
s1
[('168.', '168', '1')]
想知道,[('168.', '168', '1')],这个结果
是r'(([0,1]?\d?\d|2[0-4]\d|25[0-5]).){3}([0,1]?\d?\d|2[0-4]\d|25[0-5])' 这个部分怎么匹配出来的?
我的理解是:(([0,1]?\d?\d|2[0-4]\d|25[0-5]).){3},这个部分以([0,1]?\d?\d|2[0-4]\d|25[0-5]).为分组,整体匹配了3次
而([0,1]?\d?\d|2[0-4]\d|25[0-5]) 这个里面是 或的关系,可以匹配9、244、251等
如果是这样的话,那为什么匹配出来的结果,不是我想要的那种
谢谢指教