Looks like that you have the correct observation. Lookbehind should have constant length item. If alterations have variable lengths, the 'lookbehind' operator in your case consider 'alterations' as variable length item.
For exmaple if you think that
A
/(?<=(?:\d{1,2}))/
should give you an error, than
B
/(?<=(?:\d\d|\d))/;
will also you error since it's same as 'A'.
In other words, it's really variable length look behind.
artist