re.compile(r'([^a-zA-Z0-9])(%s)([^a-zA-Z0-9])' % '\+test', re.I)
«+» - это квантификатор «повторить хотя бы один раз» в регулярных выражениях. Он должен следовать за чем-то, что можно повторить, или он должен быть экранирован, если вы хотите соответствовать литералу "+".
Лучше, если вы хотите динамически построить свое регулярное выражение.
re.compile(r'([^a-zA-Z0-9])(%s)([^a-zA-Z0-9])' % re.escape('+test'), re.I)