Потому что регулярка в re выбирает полностью всю строку и следовательно заменяют всю строку. Что вам нужно заменить на пустое значение? Точнее даже наверно, что нужно оставить от исходной строки?
DanKud, найти строку "!test vk.com/1123 или https://vk.com/123123 или [id12312|@asd] или [id12312|*asd]" и потом из этого все вычти чистый id пользователя