x = (
    'key1=[subKey1=[val1,val2=[k1,k2]],val3,val4,subKey2=[aaa,bbb]],key2=val5,key3,key4=[1,2,3]'
    )
print([i for i, j in regex.findall(
    '([^,=]+=(\\[(?:[^\\[\\]]|(?2))+\\])|[^,]*)', x) if i])
Как исправить регулярное выражение, чтобы оно соответствовало моей строке