You can try to solve this using the split() function to tokenize both AttributeMask (by commas) and ChangeData (by tildes). Then, apply regexp functions to extract only the elements where AttributeMask contains '10049', and match them with the corresponding value from ChangeData based on position.
I leave you here some useful documentation:
Hope this helps!