正则表达式中,如果用上圆括号,总会有一些惊奇的表现
c = '壹贰叁肆伍' d1 = re.split('(贰)', c) e1 = re.split('(贰)|(肆)', c) print(d1) print(e1) 结果如下: ['壹', '贰', '叁肆伍'] ['壹', '贰', None, '叁', None, '肆', '伍'] d2 = re.split('(贰)', c) e2 = re.split('([贰肆])', c) print(d2) print(e2) 结果如下 ['壹', '贰', '叁肆伍'] ['壹', '贰', '叁', '肆', '伍'] d3 = re.split('(贰)', c) e3 = re.split('(贰)|肆', c) print(d3) print(e3) 结果如下: ['壹', '贰', '叁肆伍'] ['壹', '贰', '叁', None, '伍'] f = '壹贰叁肆伍' g = re.split('(贰)', f) print(g) 结果如下: ['壹', '贰', '叁肆伍']
百思不得其解
1、表达式中,([贰肆])与(贰)|(肆),结果是不一样的,第二个表达式是有空值的
2、这个空值是怎么来的呢?