tigs=re.findall('上市时间: (.*?)</li>|季节: (.*?)</li>',ss) tigs [('', '2021年春季')]我这里"|"是或的匹配,按道理应该只匹配一个,为啥这里显示2个结果呢?
你的理解没错,确实一次只能命中「|」分隔的其中一个;但是,分组括号总是从左往右编号的,命中首个分组就是下标0的,命中下个分组就是下标1的……如果你有多个「|」且每组里都有分组括号,结果会更多,(a)|(b)|(c) 就可能出现 ('a','','') ('','b','') ('','','c') 这种结果。
你的理解没错,确实一次只能命中「|」分隔的其中一个;但是,分组括号总是从左往右编号的,命中首个分组就是下标0的,命中下个分组就是下标1的……如果你有多个「|」且每组里都有分组括号,结果会更多,
(a)|(b)|(c)
就可能出现('a','','') ('','b','') ('','','c')
这种结果。