I tried to solved your problem. It was very difficult than I thought. Here is my Python code.
input = ['1','2','3','4',['5','6','7'],'8','9',['10','11'],'12']
tmp = [[]]
for i in input:
if isinstance(i, list):
tmp = [j+[k] for j in tmp for k in i]
else:
tmp = [j+[i] for j in tmp]
output = ["|".join(i) for i in tmp]
output:
>>> output
['1|2|3|4|5|8|9|10|12',
'1|2|3|4|5|8|9|11|12',
'1|2|3|4|6|8|9|10|12',
'1|2|3|4|6|8|9|11|12',
'1|2|3|4|7|8|9|10|12',
'1|2|3|4|7|8|9|11|12']