No, sorry ... this won't work either. However, you could not know because my example indeed would permit the simplification you suggest. The regex cannot be simplified to (_)[^']) since a) single quotes can also occur inside a string and b) I only know that the end of the string has been reached when the next underscore is reached. Another input string might be my $string = "_na'da_komo_el_so'l_"