(?=正規表現) は、「肯定先読み」と言われる表現です。中に記述してある正規表現の直前にマッチします。直前というのは、文字ではなくて、文字の隙間。^ や $ が、行頭や行末を表すように、文字ではなくて、文字の前後にマッチします。質問に書かれた /(?=[!_%])/ という正規表現は、"!" 、"_" 、もしくは "%" の文字の直前を表します。
大変勉強になりました、ご回答ありがとうございました!